Package Exports
- @jsonstack/jsonm
- @jsonstack/jsonm/dist/cjs/index.js
- @jsonstack/jsonm/dist/esm/index.js
- @jsonstack/jsonm/dist/web/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@jsonstack/jsonm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
JSONM
Description
JSONM is a module that creates Tensorflow models with JSON.
Jump right in
JSONM is designed so software engineers and machine learning engineers can quickly build, train, save, and load Tensorflow based AI & ML Models. The JSONM Library includes a JSONM UMD module with batteries included so you can use JSONM in the browser without transpilers or any additional setup/configuration. The JSONM UMD is ideal for JAMstack Applications.
Usage
The idea behind JSONM is to enable rapid model development. JSONM attempts to automate the data pre-processing and feature engineering needed for most modeling tasks.
Data Scientists who are more comfortable finely tuning hyperparameters and controlling pre-processing, scaling and normalization of datasets can also configure JSONM to meet specific model requirements.
What's included
JSONM currently supports the following models
- General purpose multivariate based predictions
- Multivariate linear regression based predictions
- General purpose multivariate classification based descriptions
- General purpose multivariate timeseries based forecasts
- General purpose content based recommendations (coming soon)
- General purpose cohort analysis (coming soon)
Installation
$ npm i @jsonstack/jsonmJSONM Manual
- Getting Started
- Working With Data
- Working With Models
- Advanced Topics
Basic Usage
import * as tf from '@tensorflow/tfjs-node';
import { getModel, setBackend, } from '@jsonstack/jsonm';
//set tensorflow
setBackend(tf);
//Iris Dataset e.g from https://raw.githubusercontent.com/repetere/modelx-model/master/src/test/mock/data/iris_data.csv
const type = 'ai-classification';
const dataset = [
{
"sepal_length_cm": 5.1,
"sepal_width_cm": 3.5,
"petal_length_cm": 1.4,
"petal_width_cm": 0.2,
"plant": "Iris-setosa",
},
// ...
{
"sepal_length_cm": 7.0,
"sepal_width_cm": 3.2,
"petal_length_cm": 4.7,
"petal_width_cm": 1.4,
"plant": "Iris-versicolor",
},
// ...
{
"sepal_length_cm": 5.9,
"sepal_width_cm": 3.0,
"petal_length_cm": 5.1,
"petal_width_cm": 1.8,
"plant": "virginica",
}
]
const inputs = ['sepal_length_cm','sepal_width_cm','petal_length_cm','petal_width_cm', ];
const outputs = [ 'plant',];
const on_progress = ({ completion_percentage, loss, epoch, status, logs, defaultLog, }) => {
console.log({ completion_percentage, loss, epoch, status, logs, defaultLog, });
}
const IrisModel = await getModel({
type,
dataset,
inputs,
outputs,
on_progress,
});
await IrisModel.trainModel()
const predictions = await IrisModel.predictModel({
prediction_inputs:[
{ sepal_length_cm: 5.1, sepal_width_cm: 3.5, petal_length_cm: 1.4, petal_width_cm: 0.2, },
{ sepal_length_cm: 5.9, sepal_width_cm: 3.0, petal_length_cm: 5.1, petal_width_cm: 1.8, },
],
}); // => [ { plant:'Iris-setosa' }, { plant:'Iris-virginica' }, ]
Example
Development
Note Make sure you have typescript installed
$ npm i -g typescript For generating documentation
$ npm run docNotes
Check out https://repetere.github.io/jsonm/ for the full jsonm Documentation
Testing
$ npm testContributing
Fork, write tests and create a pull request!
License
MIT