Skip to content

skan-io/saij

Repository files navigation


⚡ A learning engine.

Build Status Build Status Build Status code style: prettier

A modular Javascript machine learning and artificial intelligence SDK.

 

🐥 Current release: Alpha 1.0.0

📖 Read the Quick Start Guide

💻 API Docs

🚀 Try it out

🚜 Roadmap

Table of Contents

Background

Install

Ensure the latest version of node is used:

nvm use 9
npm install saij

Usage & API - WIP

Basic Engine example:

import Engine from 'saij/Engine';
import Organ from 'saij/Organ';
import Layer from 'saij/Layer';
import Group from 'saij/Group';
import NeuralNet from 'saij/NeuralNet';
import Request from 'saij/Request';


const organA = new Organ({
  layers: [
    new Layer({
      source: new NeuralNet({
        type: 'LSTM', architecture: [1, 3, 1]
      })
    })
  ]
});
const organB = new Organ({
  layers: [
    new Layer({
      source: new Request('www.some-url.com/stuff')
    })
  ]
});

const organGroup = new Group([organA, organB]);

const engine = new Engine([organGroup]);

engine.setTarget('my-html-element');
engine.setInputTarget('my-input-html-element');
engine.start();

See Saij in action at https://apps.saij.io.

Testing & Linting

To run all unit tests use:

npm test

To run a single test use:

npm run jest src/saij/file-to-test

All tests must pass 100% coverage (and all use cases) before a merge to master.

Check coverage after a test using:

open build/cov/lcov-report/index.html

Check your code style using eslint:

npm run lint

Build & Package

To build the project use:

npm run build

Built files will be output to build/pkg.

Package will be automatically published to NPM once it has passed CI (Travis), semantic versioning and it must be successfully merged into master.

Documentation

A GitBook guide and tutorial documentation can be found at https://skan.gitbook.com/saij, including examples and support.

API documentation can be found at https://skan-io.github.io/saij/

API docs can also be accessed anytime locally using:

serve ./docs

Or you can rebuild the docs:

npm run docs
server ./docs

Maintainers

@nickmanks

Contribute

PRs accepted.

Commits must use Angular commit message standard. Pull requests try to use the pull request template provided.

See the contribute file!

Small note: If editing the README, please conform to the standard-readme specification. contributions welcome

Attribute

Much of the core and structure of this project has been heavily inspired by OpenLayers. They're doing great work in GIS and mapping so thanks to all the contributors of that project, go check it out!

License

BSD-3-Clause © 2018 Skan.io