
使用多層感知器網路,為 CSV 資料建立模型
|
195
模型的訓練
為了訓練模型,我們建立一個
for
迴圈,它會根據所給定的階段(epoch)數量,針對輸
入資料集對神經網路進行訓練(遍歷整個資料集)。
for ( int n = 0; n < nEpochs; n++) {
model.fit( trainIter );
}
為了訓練整個資料集,我們調用了
MultiLayerNetwork
物件類別實例中的
.fit()
方法。這
個物件類別負責的是,根據所指定的適當超參數(譬如之前在輸入資料集迭代器中所設
置的最小批量處理大小)套用相應的處理機制:
DataSetIterator testIter = new RecordReaderDataSetIterator(rrTest,batchSize,0,2);
在這個例子中,
batchSize
這個變數負責控制從磁碟中取得的樣本數量,這些樣本會
以批量的方式傳遞給模型進行訓練。在訓練模型的過程中,我們應該可以在控制台
(console)看到類似以下的輸出:
o.d.o.l.ScoreIterationListener - Score at iteration 0 is 0.6313823699951172
o.d.o.l.ScoreIterationListener - Score at iteration 10 is 0.4763660430908203
o.d.o.l.ScoreIterationListener - Score at iteration 20 ...