【问题标题】:How do I fix the NaN training error in Brain.js?如何修复 Brain.js 中的 NaN 训练错误?
【发布时间】:2020-07-17 09:06:22
【问题描述】:

我的神经网络有问题,我真的需要你的帮助。

当网络在训练时,它会得到这个输出:

iterations: 10, training error: NaN

iterations: 20, training error: NaN

等等……

到目前为止我已经尝试过:

  • 仅用于训练输出为 0 或 1 的数据
  • 标准化数据
  • 扁平化输入

这是我的training data

这是我的代码

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

任何帮助将不胜感激!

【问题讨论】:

    标签: node.js deep-learning artificial-intelligence brain.js


    【解决方案1】:

    此答案已被编辑。

    看起来您正在使用嵌套数组。 340 个输入,其中输入是 72 个数组中的 72 个数组。我不确定你之前是如何扁平化你的输入的,但是使用你的训练数据和你的代码,我可以通过这样做得到一个 0.18139151128039302 的训练错误:

    for (let datum of trainingData) {
         datum.input = datum.input.flat()
    }
    const train = net.train(trainingData, config);
    

    【讨论】:

    • 我修改了答案,请尝试这个新的解决方案:)
    猜你喜欢
    • 2019-09-07
    • 2018-12-20
    • 2019-03-18
    • 2019-11-12
    • 1970-01-01
    • 2021-04-28
    • 2022-01-05
    • 2013-10-23
    • 2018-11-26
    相关资源
    最近更新 更多