类型错误:无法读取大脑中未定义的属性"权重.js



我目前正在使用Brain.js库,在执行预测时遇到了以下错误。我不知道这个错误是什么原因造成的,它与重量有关。我正在学习本教程:https://youtu.be/6E6XecoTRVo?t=3297但如果您正确执行了最后一行"console.log(net.run(trainingData[0]((",则会发送给此人。请你能给我解释一下可能是什么吗?

错误

C:laragonwwwProjectGnode_modulesbrain.jsdistbrain.js:20736
var result = [lastOutput.weights[0]];
^
TypeError: Cannot read property 'weights' of undefined
at LSTMTimeStep.forecastNumbers (C:laragonwwwProjectGnode_modulesbrain.jsdistbrain.js:20736:32)
at LSTMTimeStep.runObject (C:laragonwwwProjectGnode_modulesbrain.jsdistbrain.js:20751:63)
at LSTMTimeStep.run (C:laragonwwwProjectGnode_modulesbrain.jsdistbrain.js:20517:23)
at Object.<anonymous> (C:laragonwwwProjectGresourcesviewsscritp.js:52:21)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47

代码:

const brain = require("brain.js");

const rawData = [{"fecha":"01/2017","unidades":530},{"fecha":"02/2017","unidades":443},
{"fecha":"03/2017","unidades":512},{"fecha":"04/2017","unidades":497},{"fecha":"05/2017","unidades":543},
{"fecha":"06/2017","unidades":565},{"fecha":"07/2017","unidades":725},{"fecha":"08/2017","unidades":821},
{"fecha":"09/2017","unidades":601},{"fecha":"10/2017","unidades":561},{"fecha":"11/2017","unidades":502},
{"fecha":"12/2017","unidades":533},{"fecha":"01/2018","unidades":523},{"fecha":"02/2018","unidades":457}]
function scaleDown(step){ //normalizando
return {
unidades: step.unidades / 443
};
}
// console.log(scaleDown(rawData[0]));
function scaleUp(step){ //desnormalizar
return{
unidades: step.unidades * 443
};
}
// console.log(scaleUp(scaleDown(rawData[0])));
const scaledData = rawData.map(scaleDown);
const trainingData = [
scaledData.slice(0, 7),
scaledData.slice(7, 14),
];
console.log(trainingData);
/* Red */
const net = new brain.recurrent.LSTMTimeStep({
inputSize: 1,
hiddenLayers: [2, 2],
output: 1
});
// var data = <?php echo json_encode($ventas_por_meses2);?>;


/* Entrenamiento */
net.train(trainingData, { 
learningRate: 0.005, 
errorThresh: 0.02, 
log: (stats) => console.log(stats) 
});
/* Predicción */

console.log(net.run(trainingData[0]));

在网络完成训练之前,您正在运行这行代码:

console.log(net.run(trainingData[0]));

你必须等到训练结束!

net.train(trainingData, { 
learningRate: 0.005, 
errorThresh: 0.02, 
log: (stats) => finishedTraining(stats) 
});
function finishedTraining(stats){
console.log(net.run(trainingData[0]));
}

最新更新