layer-oriented-deep-learning-network-js
Version:
A feed-forward neural network with injectable layers, activation functions, and optimizers.
43 lines (23 loc) • 1.66 kB
JavaScript
'use strict';
var _DeepNetwork = require('./DeepNetwork');
var _DeepNetwork2 = _interopRequireDefault(_DeepNetwork);
var _Linear = require('../activation-function/Linear');
var _Linear2 = _interopRequireDefault(_Linear);
var _LeakyRelu = require('../activation-function/LeakyRelu');
var _LeakyRelu2 = _interopRequireDefault(_LeakyRelu);
var _InputLayer = require('../layer/InputLayer');
var _InputLayer2 = _interopRequireDefault(_InputLayer);
var _HiddenLayer = require('../layer/HiddenLayer');
var _HiddenLayer2 = _interopRequireDefault(_HiddenLayer);
var _OutputLayer = require('../layer/OutputLayer');
var _OutputLayer2 = _interopRequireDefault(_OutputLayer);
var _StochasticGradientDescent = require('../optimizer/StochasticGradientDescent');
var _StochasticGradientDescent2 = _interopRequireDefault(_StochasticGradientDescent);
var _shuffleTrain = require('../trainer/shuffleTrain');
var _shuffleTrain2 = _interopRequireDefault(_shuffleTrain);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var network = new _DeepNetwork2.default([new _InputLayer2.default(2), new _HiddenLayer2.default(100, new _LeakyRelu2.default(), new _StochasticGradientDescent2.default(0.1)), new _OutputLayer2.default(6, new _Linear2.default(), new _StochasticGradientDescent2.default(0.1))]);
var trainingSets = [//Outputs: [XOR, OR, AND, GreaterThan, LessThan, NotBoth]
[[0, 0], [0, 0, 0, 0, 0, 1]], [[0, 1], [1, 1, 0, 0, 1, 0]], [[1, 0], [1, 1, 0, 1, 0, 0]], [[1, 1], [0, 1, 1, 0, 0, 0]]];
(0, _shuffleTrain2.default)(network, trainingSets, 100);
//console.log('Output for input [1,1]:', network.invoke([1, 1]));