layer-oriented-deep-learning-network-js
Version:
A feed-forward neural network with injectable layers, activation functions, and optimizers.
38 lines (27 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = shuffleTrain;
var _arrayShuffle = require('../math/arrayShuffle');
var _arrayShuffle2 = _interopRequireDefault(_arrayShuffle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function log(epoch, setNumber, inputs, targetOutputs, outputs) {
// console.log('inputs:', inputs);
var errors = new Array(outputs.length);
for (var i = 0, len = outputs.length; i < len; i++) {
errors[i] = (targetOutputs[i] - outputs[i]).toFixed(4);
}
console.log(epoch + ':' + setNumber, 'errors', errors);
}
function shuffleTrain(neuralNetwork, trainingSets, maxEpochs) {
for (var epoch = 0; epoch < maxEpochs; epoch++) {
trainingSets = (0, _arrayShuffle2.default)(trainingSets);
for (var setI = 0, setCount = trainingSets.length; setI < setCount; setI++) {
var set = trainingSets[setI];
var outputs = neuralNetwork.invoke(set[0]);
neuralNetwork.learn(set[1]);
log(epoch, setI, set[0], set[1], outputs);
}
}
}