node.js - 如何修复 Brain.js 中的 NaN 训练错误?

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

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

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

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

任何帮助将不胜感激!

最佳答案

此答案已被编辑。

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

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

关于node.js - 如何修复 Brain.js 中的 NaN 训练错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61041642/

相关文章:

node.js - 序列化查询 where or 失败并出现空错误

javascript - MongoDB Mongoose 按多个字段分组并获取计数

python-3.x - 属性错误 : dataset object has no attribute 'c' FastAI

python - 对于 tensorflow 中的二进制分类,成本函数始终返回零

c - 如何在国际象棋 AI 中正确检查 caSTLing?

artificial-intelligence - 贝叶斯网络 : Independance and Conditional Independance

javascript - 基于环境变量动态导入

javascript - Vue.js 在 v-for 循环中访问嵌套对象

c++ - Caffe中的CHECK & CHECK_EQ等类函数宏的定义具体在哪里?

tensorflow - 尝试使用tensorflow 2.0中的tensorflow.plugins.hparams来创建一堆不同的优化器