Node.js 如何修复Brain.js中的NaN训练错误?
我的神经网络有问题,我真的需要你的帮助 当网络正在训练时,它会给我以下输出:Node.js 如何修复Brain.js中的NaN训练错误?,node.js,deep-learning,artificial-intelligence,brain.js,Node.js,Deep Learning,Artificial Intelligence,Brain.js,我的神经网络有问题,我真的需要你的帮助 当网络正在训练时,它会给我以下输出: iterations: 10, training error: NaN iterations: 20, training error: NaN 等等 到目前为止,我已经尝试过: 仅用于输出为0或1的训练数据 规范化数据 平展输入 这是我的 这是我的代码: const Brain = require('brain.js'), fs = require('fs'), config = { logPeriod
iterations: 10, training error: NaN
iterations: 20, training error: NaN
等等
到目前为止,我已经尝试过:
- 仅用于输出为0或1的训练数据
- 规范化数据
- 平展输入
const Brain = require('brain.js'),
fs = require('fs'),
config = {
logPeriod: 10,
log: true,
iterations: 100
};
let trainingData = JSON.parse(fs.readFileSync('./data/trainingData.normalized.json', 'utf8'));
const net = new Brain.NeuralNetwork({
hiddenLayers: [72, 72]
});
net.train(trainingData, config);
console.log(net.run(trainingData[0].input));
任何帮助都将不胜感激 此答案已编辑 看起来您正在使用嵌套数组。340个输入,其中输入为72个阵列中的72个阵列。我不确定您以前是如何将输入平坦化的,但使用您的训练数据和代码,通过执行以下操作,我能够获得0.18139151128039302的训练错误:
for (let datum of trainingData) {
datum.input = datum.input.flat()
}
const train = net.train(trainingData, config);
我修改了我的答案,请尝试这个新的解决方案:)