dannjs

    2.3.13 • Public • Published

    Dannjs

    versionNpmStat repoSize downloadNpmStat downloadNpmStat GitHub

    Deep Neural Network Library for Javascript

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

    DemoInstallationGetting startedDocumentationContributeDiscordLicense


    Installation

    CDN :

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

    Node :

    npm i dannjs
    

    dannjs on npmjs.com

    Getting started

    Node Imports

    Object types from the library can be imported like this

    const dn = require('dannjs');
    const Dann = dn.dann;
    const Layer = dn.layer;
    const Matrix = dn.matrix;

    The objects containing functions can be imported this way

    const dn = require('dannjs');
    const lossfuncs = dn.lossfuncs;
    const activations = dn.activations;
    const poolfuncs = dn.poolfuncs;

    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


    Stickers

    Get Dannjs stickers!



    Contributors


    Matias Vazquez-Levi

    💻 📖 ⚠️

    Francesco Ciulla

    📢

    Labnan

    🐛 💻 ⚠️

    sharkAce

    💻

    Hasnain Iqbal

    💻 ⚠️

    EL Ramos

    🐛 ⚠️ 💻

    viabhinav


    Any contributions are welcome! See CONTRIBUTING.md.






    License

    MIT

    Install

    npm i dannjs

    Homepage

    dannjs.org

    DownloadsWeekly Downloads

    5

    Version

    2.3.13

    License

    ISC

    Unpacked Size

    125 kB

    Total Files

    5

    Last publish

    Collaborators

    • matiasvlevi