[英]TypeError: Cannot read property 'weights' of undefined in Brain.js
我目前正在使用 Brain.js 庫,執行預測時遇到以下錯誤。 我不知道這個錯誤是什么引起的,它與權重有關。 我正在關注本教程: https://youtu.be/6E6XecoTRVo?t=3297但如果您正確執行最后一行“console.log (net.run (trainingData [0]))”,則對那個人。 請。 你能向我解釋一下它可能是什么嗎?
錯誤
C:\laragon\www\ProjectG\node_modules\brain.js\dist\brain.js:20736
var result = [lastOutput.weights[0]];
^
TypeError: Cannot read property 'weights' of undefined
at LSTMTimeStep.forecastNumbers (C:\laragon\www\ProjectG\node_modules\brain.js\dist\brain.js:20736:32)
at LSTMTimeStep.runObject (C:\laragon\www\ProjectG\node_modules\brain.js\dist\brain.js:20751:63)
at LSTMTimeStep.run (C:\laragon\www\ProjectG\node_modules\brain.js\dist\brain.js:20517:23)
at Object.<anonymous> (C:\laragon\www\ProjectG\resources\views\scritp.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]));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.