Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/skan-io/saij

A learning engine. Guide: https://skan.gitbook.io/saij, API: https://skan-io.github.io/saij/
https://github.com/skan-io/saij

Last synced: 10 days ago
JSON representation

A learning engine. Guide: https://skan.gitbook.io/saij, API: https://skan-io.github.io/saij/

Awesome Lists containing this project

README

        

-------



:zap: A learning engine.


Build Status
Build Status
Build Status

code style: prettier


A modular Javascript machine learning and artificial intelligence SDK.

 

:hatched_chick: Current release: **Alpha 1.0.0**

:book: Read the [Quick Start Guide](https://skan.gitbook.com/saij)

:computer: [API Docs](https://skan-io.github.io/saij/)

:rocket: [Try it out](https://apps.saij.io/examples)

:tractor: **[Roadmap](https://github.com/skan-io/saij/wiki/Roadmap)**

## Table of Contents

- [Background](#background)
- [Install](#install)
- [Usage & API](#usage-and-api)
- [Code Style](#eslint-installation)
- [Testing](#running-tests)
- [Build & Package](#build-and-package)
- [Documentation](#documentation)
- [Maintainers](#maintainers)
- [License](#license)

## Background

## Install

>Ensure the latest version of node is used:
>```bash
>nvm use 9
>```

```
npm install saij
```

## Usage & API - WIP

Basic `Engine` example:

```javascript
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](https://apps.saij.io).

## Testing & Linting

To run all unit tests use:

```bash
npm test
```

To run a single test use:

```bash
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:

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

Check your code style using [eslint](https://eslint.org/):

```bash
npm run lint
```

## Build & Package

To build the project use:

```bash
npm run build
```

Built files will be output to [`build/pkg`](./build/pkg).

Package will be automatically published to [NPM](https://www.npmjs.com/package/saij) once it has passed CI ([Travis](https://travis-ci.com/skan-io/saij/)), 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](https://skan.gitbook.com/saij), including examples and support.

API documentation can be found at [https://skan-io.github.io/saij/](https://skan-io.github.io/saij/)

API docs can also be accessed anytime locally using:

```bash
serve ./docs
```

Or you can rebuild the docs:

```bash
npm run docs
server ./docs
```

## Maintainers

[@nickmanks](https://github.com/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](CONTRIBUTING.md)!

Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification. contributions welcome

## Attribute

Much of the core and structure of this project has been heavily inspired by [OpenLayers](http://openlayers.org/). They're doing great work in GIS and mapping so thanks to all the contributors of that project, [go check it out!](https://github.com/openlayers/openlayers)

## License

BSD-3-Clause © 2018 Skan.io