慕碼人2483693
2021-12-17 17:01:12
每個班級大約有300張真實圖像。具有 3 個類的分類模型。我使用 2000 個生成的樣本和 10 個時期制作了一個模型。該模型還可以,但有很多錯誤的負面預測。我想改進模型并將生成的樣本數量(真實圖像數量未更改)增加到 20000。在第 6 個時期,準確度開始下降,最終達到 0.2339/666 [==============>...............] - ETA: 52s - loss: 0.2762 - acc: 0.9012340/666 [==============>...............] - ETA: 52s - loss: 0.2757 - acc: 0.9014341/666 [==============>...............] - ETA: 52s - loss: 0.2754 - acc: 0.9015342/666 [==============>...............] - ETA: 52s - loss: nan - acc: 0.9014 343/666 [==============>...............] - ETA: 52s - loss: nan - acc: 0.8995344/666 [==============>...............] - ETA: 52s - loss: nan - acc: 0.8976345/666 [==============>...............] - ETA: 51s - loss: nan - acc: 0.8955是不是過擬合了?我可以在不重新開始學習的情況下以某種方式實時阻止它嗎?例如,是否有可能在每個 epoch 之后保存模型,并在這種情況下采用最佳模型。或者至少,Keras 可以打破教學嗎?
2 回答
慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
您的模型在這里肯定不會過度擬合。在特定次數的迭代后,您的模型將停止學習(準確度曲線變得更平坦)。
為了克服這一點,您可以執行以下操作
添加更多數據
調整超參數
該keras庫通過回調 API 提供檢查點功能。該ModelCheckpoint回調類允許你定義在哪里檢查點的模型權重,該文件應該如何命名以及在什么情況下,使模型的一個檢查站。
使用它,您可以從迭代次數中選擇最佳模型。
from keras.callbacks import ModelCheckpoint
"""
Your Code
"""
checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
我也遇到過類似的問題,你的損失突然變得nan有點可疑。
由于您的目標函數未更新,即不是數字,它可能會停止學習。
我會建議:
查看模型損失函數
審查特征化過程
確保輸入不會導致
nan發生
最后一點可能最相關,因為非常大的數字可能會導致損失計算出現問題或nan潛入您的特征向量。
使用 acallback來查看諸如ModelCheckpoint之類的過程可以幫助調試。
添加回答
舉報
0/150
提交
取消
