簡體   English   中英

TypeError:無法讀取 Brain.js 中未定義的屬性“權重”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM