Train a neural network with your data & save its trained state!
Demo • Installation • Getting started • Documentation • Contribute • Discord • License
<script src="https://cdn.jsdelivr.net/gh/matiasvlevi/[email protected]/build/dann.min.js"></script>
npm i dannjs
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;
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});
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);
}
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);
}
Convert a Neural Network to a JS function that can output predictions without the library.
let strfunc = nn.toFunction();
console.log(strfunc);
let json = nn.toJSON();
console.log(json);
AI predicts San-francisco Housing prices.
more examples & demos here
Try out the new Dannjs Sandbox!
https://dannjs.org/sandbox
MIT
Matias Vazquez-Levi 💻 📖 |
Francesco Ciulla 📢 |
Labnan 🐛 |
sharkAce 💻 |
Any contributions are welcome! See CONTRIBUTING.md.