https://github.com/generic-matrix/generics.js
A minimal Deep learning library for the web.
https://github.com/generic-matrix/generics.js
cnn cross-validation deep-learning deep-learning-library k-fold neural-network nodejs reinforcement-learning
Last synced: 3 months ago
JSON representation
A minimal Deep learning library for the web.
- Host: GitHub
- URL: https://github.com/generic-matrix/generics.js
- Owner: generic-matrix
- License: mit
- Created: 2019-12-02T08:26:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-19T12:15:03.000Z (almost 5 years ago)
- Last Synced: 2025-02-19T04:48:52.507Z (3 months ago)
- Topics: cnn, cross-validation, deep-learning, deep-learning-library, k-fold, neural-network, nodejs, reinforcement-learning
- Language: JavaScript
- Homepage:
- Size: 27.4 MB
- Stars: 6
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A minimal deep learning library for the web
## generics.js
The library allows to leverage to create and deploy real time deep learning solution currently including ANN and CNN with fully featured reinforcement learning and k-fold cross validation tests.
## Real time examples:
Food rating prediction: [Google Colab](https://colab.research.google.com/drive/1Kn6UHHkU_uxU10QY4efMSnIetWrc_AuS)Dogs and cats prediction: [Google Colab](https://colab.research.google.com/drive/1lQ-14TdZvkDSb8d9P_kbciqpxieD-9Sw)
## Pull it using npm:
`npm install generics.js --save`## Manual installation:
```
git clone https://github.com/generic-matrix/generics.js.git
unzip generics.js.zip
cd generics.js && npm install -g --save
```## Use it as:
```
let gen = require("generics.js");
```
### CPU Example:
```
var x_axis=[[1,2,3,4],[6,7,8,9],[9,8,7,6],[5,4,3,2]];
var y_axis=[[1],[1],[0],[0]];var util = new gen.Utilities();
var topology=[x_axis[0].length,y_axis[0].length];
var activations = [util.SIGMOID(),util.SIGMOID()];
var param={
"learning_rate":0.1
};
var net=new gen.Network(topology,activations,param);
util.train(net,x_axis,y_axis,1000);
util.save_model(net,"test.json");
var result=util.predict(net,[4,5,6,7]);
var result2=util.predict(net,[9,8,7,6]);
console.log("Expect 1 Given : "+result);
console.log("Expect 0 Given : "+result2);
```
### GPU Example:
Pull accelerator.js by :
`npm install accelerator.js -g --save`
```
let gen = require("generics.js");
var Accelerator=require("accelerator.js");
var settings=
{
"use_lib":"tf",
};
```
```
var util = new gen.Utilities(Accelerator,settings);var x_axis=[[1,2,3,4],[6,7,8,9],[9,8,7,6],[5,4,3,2]];
var y_axis=[[1],[1],[0],[0]];var topology=[x_axis[0].length,y_axis[0].length];
var activations = [util.SIGMOID(),util.SIGMOID()];
var param={
"learning_rate":0.1
};var net=new gen.Network(topology,activations,param,Accelerator,settings);
util.train(net,x_axis,y_axis,1000);
util.save_model(net,"test.json");
var result=util.predict(net,[4,5,6,7]);
var result2=util.predict(net,[9,8,7,6]);
console.log("Expect 1 Given : "+result);
console.log("Expect 0 Given : "+result2);
```
## Features :
1) ### K fold cross validation tests
(used to evaluate machine learning models on a limited data sample) :
```
var dir = "my_model.json";
var summary_url = "summary.json";
var training_count = 10;
var batch_size = 10;
var testing_threashold = 0.45;
var split_percent = 20;
var topology=[200,200,1];
var activations = [util.SIGMOID(),util.SIGMOID(),util.LEAKY_RELU()];
util.perform_k_fold(net, x_axis, y_axis, batch_size, training_count, dir, testing_threashold, split_percent);
```
2) ### Easy retriving of model :```
var model_dir = "my_model.json";
util.restore_model(model_dir).then(function(net2){
console.log(net2);
});
```
3) ### Inbuild CSV parsing :
Refer: https://www.trygistify.com/generics#preprocessingparse_csv
Example is from
Food rating prediction: [Google Colab](https://colab.research.google.com/drive/1Kn6UHHkU_uxU10QY4efMSnIetWrc_AuS)
```
var pre=new gen.Pre_Processing();
var fill_type = 0;
pre.parse_csv("/content/cereal.csv", fill_type, ["mfr", "type", "calories", "protein", "fat", "sodium", "fiber", "carbo", "sugars", "potass", "vitamins", "shelf", "weight", "cups"], ["rating"])
.then(function (json) {
console.log(json);
});
```## License :
https://github.com/generic-matrix/generics.js/blob/master/LICENSE
Logo icon for generics.js made by [Good Ware](https://www.flaticon.com/authors/good-ware) from www.flaticon.com