Skip to content

matiasvlevi/Dann

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Dannjs

versionNpmStat repoSize downloadNpmStat downloadNpmStat GitHub

Deep Neural Network Library for Javascript

Train a neural network with your data & save its trained state!

DemoInstallationDocumentationContributeDiscordLicense


Installation

CDN :

<script src="https://cdn.jsdelivr.net/gh/matiasvlevi/dann@v2.4.1e/build/dann.min.js"></script>

Node :

npm i dannjs

dannjs on npmjs.com

Getting started

Require package

Components from the library can be imported like this

const { Dann } = require('dannjs');

Basic model construction

Setting up a small (4,6,6,2) neural network.

const nn = new Dann(4, 2);
nn.addHiddenLayer(6, 'leakyReLU');
nn.addHiddenLayer(6, 'leakyReLU');
nn.outputActivation('tanH');
nn.makeWeights();
nn.lr = 0.0001;
nn.log({details:true});

Train by backpropagation

Training with a dataset.

//XOR 2 inputs, 1 output
const dataset = [
    {
        input: [0, 0],
        output: [0]
    },
    {
        input: [1, 0],
        output: [1]
    },
    {
        input: [0, 1],
        output: [1]
    },
    {
        input: [1, 1],
        output: [0]
    }
];

//train 1 epoch
for (data of dataset) {
    nn.backpropagate(data.input, data.output);
    console.log(nn.loss);
}

Train by mutation

For neuroevolution simulations. Works best with small models & large population size.

const populationSize = 1000;
let newGeneration = [];

for (let i = 0; i < populationSize; i++) {

    // parentNN would be the best nn from past generation.
    const childNN = parentNN;
    childNN.mutateRandom(0.01, 0.65);

    newGeneration.push(childNN);
}

Standalone function

Convert a Neural Network to a JS function that can output predictions without the library.

let strfunc = nn.toFunction();
console.log(strfunc);

Save JSON

let json = nn.toJSON();
console.log(json);


Demo:

AI predicts San-francisco Housing prices.
more examples & demos here

Online editor:

https://dannjs.org/sandbox


Socials


Graph Dann models with this library

Dann-p5


Stickers

Get Dannjs stickers!



Contributors


Matias Vazquez-Levi

💻 📖 ⚠️

Francesco Ciulla

📢

Labnan

🐛 💻 ⚠️

sharkAce

💻

Hasnain Iqbal

💻 ⚠️

EL Ramos

🐛 ⚠️ 💻

viabhinav


and1can

💻 ⚠️

Any contributions are welcome! See CONTRIBUTING.md.






License

MIT