我目前正在使用Brain.js库,在执行我的预测时遇到了以下错误。我不知道这个错误是由什么引起的,它与权重有关。我正在学习这个教程:https://youtu.be/6E6XecoTRVo?t=3297,但是如果你正确地执行了最后一行'console.log (net.run (trainingData ))‘,我想告诉你的那个人。请。你能给我解释一下可能是什么吗?
错误
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]));发布于 2021-04-27 16:03:12
在网络完成训练之前,您正在运行这行代码:
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]));
}https://stackoverflow.com/questions/67154835
复制相似问题