簡體   English   中英

ML5 神經網絡的基本訓練不起作用

[英]Basic training of ML5 neural network not working

我正在使用 ML5 來訓練神經網絡。 我正在加載一個包含泰坦尼克號數據的 CSV 文件。 這在我從 ML5 GitHub 下載演示文件時有效。

但是,當我使用不同的 CSV 文件並替換代碼中的列名時,它會停止工作。 我錯過了什么嗎? 我的 CSV 文件包含數字,而演示文件包含字符串是否有問題?

let neuralNetwork

function start() {    
    const nnOptions = {
        dataUrl: "data/titanic.csv",
        inputs: ["Pclass", "Sex", "Age", "SibSp"],     // labels from my CSV file
        outputs: ["Survived"],
        task: "classification",
        debug: true,
    };

    neuralNetwork = ml5.neuralNetwork(nnOptions, modelReady);
}

function modelReady() {
    neuralNetwork.normalizeData();
    neuralNetwork.train({ epochs: 50 }, whileTraining, finishedTraining);
}

// this doesn't get called at all
function whileTraining(epoch, logs) {
    console.log(`Epoch: ${epoch} - loss: ${logs.loss.toFixed(2)}`);
}

// this gets called immediately
function finishedTraining() {
    console.log("done!");
}

start()

控制台立即顯示“完成”。 但是 model 沒有經過訓練。 沒有錯誤信息,奇怪的是,當 label 名稱不正確時。 然后我確實得到了一個錯誤。 所以 label 名稱實際上是被識別的。

原始 CSV 文件,工作:

survived,fare_class,sex,age,fare
died,first,male,39,0
died,first,male,29,0

我的 CSV 文件,不工作:

Survived,Pclass,Sex,Age,SibSp,Parch,Fare,Embarked
0,3,1,22.0,1,0,7.25,1
1,1,0,38.0,1,0,71.2833,2

以防萬一有人遇到這個問題:當你分類時,label 總是必須是一個字符串......

工作 CSV 文件:

Survived,Pclass,Sex,Age,SibSp,Parch,Fare,Embarked
yes,3,1,22.0,1,0,7.25,1
no,1,0,38.0,1,0,71.2833,2

我不確定這是否會有所幫助,但據我所知,所有輸入都應該是數字。 但是如果演示有效,那么代碼應該可以工作。 當涉及到 ML5 時,您必須注意 CSV 文件。 確保您嘗試預測的 output 是一個字符串。 如果您使用只有數字的 csv 並試圖將數字預測為 output 那么您應該將任務更改為:分類到回歸。 如果您願意,也可以嘗試此代碼:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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