UNPKG

novabrain

Version:

Neural network library for NodeJS and browser

63 lines (43 loc) 1.91 kB
'use strict'; var assert = require('assert'); var Novabrain = require('./../index'); var Network = Novabrain.Network; var Trainer = Novabrain.Trainer; var Transfer = Novabrain.Transfer; var Samples = Novabrain.Samples; describe('Trainer', function() { describe('#constructor()', function () { }); describe('#train()', function () { it('should train to resolve XOR', function () { var network = new Network(2,1); var trainer = new Trainer(network); network.transfer = Transfer.BOOLEAN; trainer.train(Samples.XOR.training); assert.deepEqual(network.output([0,0]), [false]); assert.deepEqual(network.output([0,1]), [true]); assert.deepEqual(network.output([1,0]), [true]); assert.deepEqual(network.output([1,1]), [false]); }); it('should train to resolve AND', function () { var network = new Network(2,1); var trainer = new Trainer(network); network.transfer = Transfer.BOOLEAN; trainer.train(Samples.AND.training); assert.deepEqual(network.output([0,0]), [false]); assert.deepEqual(network.output([0,1]), [false]); assert.deepEqual(network.output([1,0]), [false]); assert.deepEqual(network.output([1,1]), [true]); }); it('should train to resolve OR', function () { var network = new Network(2,1); var trainer = new Trainer(network); network.transfer = Transfer.BOOLEAN; trainer.train(Samples.OR.training); assert.deepEqual(network.output([0,0]), [false]); assert.deepEqual(network.output([0,1]), [true]); assert.deepEqual(network.output([1,0]), [true]); assert.deepEqual(network.output([1,1]), [true]); }); }); });