UNPKG

synaptic

Version:

architecture-free neural network library

38 lines (32 loc) 979 B
import Network from '../Network'; import Layer from '../Layer'; export default class Perceptron extends Network { constructor() { super(); var args = Array.prototype.slice.call(arguments); // convert arguments to Array if (args.length < 3) throw new Error('not enough layers (minimum 3) !!'); var inputs = args.shift(); // first argument var outputs = args.pop(); // last argument var layers = args; // all the arguments in the middle var input = new Layer(inputs); var hidden = []; var output = new Layer(outputs); var previous = input; // generate hidden layers for (var i = 0; i < layers.length; i++) { var size = layers[i]; var layer = new Layer(size); hidden.push(layer); previous.project(layer); previous = layer; } previous.project(output); // set layers of the neural network this.set({ input: input, hidden: hidden, output: output }); } }