keras 訓練是 各種loss 變化情況

2021-09-28 13:03:55 字數 579 閱讀 1083

1 學習率可能太大

2 batch size太小

3 樣本分佈不均勻

4 缺少加入正則化

大家可以在這幾個方面去進行調整,一步一步的調整,先調整學習率,然後再調整batch size,一般這兩種情況比較多,很容易就可以解決。如果還不行,再考慮一下val 集的資料樣本和訓練集的樣本是不是同樣的分布。從這幾方面進行考慮。

另外大家要學會從loss和acc的變化來判斷網路學習的情況。可能的幾種情況如下。

train loss 不斷下降,test loss不斷下降,說明網路仍在學習;

train loss 不斷下降,test loss趨於不變,說明網路過擬合;

train loss 趨於不變,test loss不斷下降,說明資料集100%有問題;

train loss 趨於不變,test loss趨於不變,說明學習遇到瓶頸,需要減小學習率或批量數目;

train loss 不斷上公升,test loss不斷上公升,說明網路結構設計不當,訓練超引數設定不當,資料集經過清洗等問題。 

另外當訓練時出現nan 時大家看看自己的網路是不是設計的有問題,網路設計的是否過大了,導致梯度傳遞時丟失了。

keras各種問題

還是不熟悉造成的,keras的各種包使用起來真是有點小麻煩。匯入方式不同就容易引起錯誤,也不提示你匯入的庫不存在,但是就是呼叫的時候報錯。比如近期寫文章想畫模型圖,plot model模組匯入出問題。正確的是使用keras.utils.plot model,而不是tf.keras.utils.plo...

Keras 知識基礎 2 訓練

以下均以model api為模型設計。1 model.fit generator generator,steps per epoch 1875,epochs 1 1 generator 生成器。保證每次generator每次yield出的資料格式是 data,labels 就行。2 epochs 迭...

實驗 Keras多GPU訓練

鏈結1 鏈結2 鏈結3 鏈結4 如圖是我的python和keras的版本,碰到了乙個問題是無法從keras.utils匯入multi gpu model。鏈結2給出了一些解決辦法,但我通過pip install upgrade keras 2.2.5,更新了一下版本後,keras.utils中就出現...