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);

我修改了我的答案,请尝试这个新的解决方案:)