Popularity
1.8
Growing
Activity
0.0
-
270
6
15

Description

Easy way to create neural networks in Javascript. Train a neural network with your dataset & save it's trained state!

Programming language: JavaScript
License: MIT License
Tags: Machine Learning    
Latest version: v2.1.0

Dannjs alternatives and similar libraries

Based on the "Machine Learning" category.
Alternatively, view Dannjs alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Dannjs or a related project?

Add another 'Machine Learning' Library

README

Deep Neural Network Library for Javascript Train a neural network with your data & save its trained state!

Demo • Installation • Getting started • Documentation • Contribute • Discord • License

Installation

CDN :

<script src="https://cdn.jsdelivr.net/gh/matiasvlevi/[email protected]/build/dann.min.js"></script>

Node :

npm i dannjs

dannjs on npmjs.com

Getting started

Require package

Object types from the library can be imported like this

const Dannjs = require('dannjs');
const Dann = Dannjs.dann;

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

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> Matias Vazquez-Levi💻 📖 ⚠️ ✅ Francesco Ciulla📢 Labnan🐛 💻 ⚠️ sharkAce💻 Hasnain Iqbal💻 ⚠️ EL Ramos🐛 ⚠️ 💻 viabhinav✅

<!-- markdownlint-restore --> <!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

Any contributions are welcome! See CONTRIBUTING.md.

License

MIT


*Note that all licence references and agreements mentioned in the Dannjs README section above are relevant to that project's source code only.