欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決pytorch 交叉熵損失輸出為負數(shù)的問題

 更新時間:2020年07月07日 14:47:09   作者:*小呆  
這篇文章主要介紹了解決pytorch 交叉熵損失輸出為負數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

網絡訓練中,loss曲線非常奇怪

交叉熵怎么會有負數(shù)。

經過排查,交叉熵不是有個負對數(shù)嗎,當網絡輸出的概率是0-1時,正數(shù)??僧斁W絡輸出大于1的數(shù),就有可能變成負數(shù)。

所以加上一行就行了

out1 = F.softmax(out1, dim=1)

補充知識:在pytorch框架下,訓練model過程中,loss=nan問題時該怎么解決?

當我在UCF-101數(shù)據集訓練alexnet時,epoch設為100,跑到三十多個epoch時,出現(xiàn)了loss=nan問題,當時是一臉懵逼,在查閱資料后,我通過減小學習率解決了問題,現(xiàn)總結一下出現(xiàn)這個問題的可能原因及解決方法:

1. 減小整體學習率。學習率比較大的時候,參數(shù)可能over shoot了,結果就是找不到極小值點;減小學習率可以讓參數(shù)朝著極值點前進;

2. 改變網絡寬度。有可能是網絡后面的層參數(shù)更新異常,增加后面層的寬度試試;

3. 改變層的學習率。每個層都可以設置學習率,可以嘗試減小后面層的學習率試試;

4. 數(shù)據歸一化(減均值,除方差,或者加入normalization,例如BN、L2 norm等);

5. 加入gradient clipping;

6 輸入數(shù)據含有臟數(shù)據,即NaN,一般當使用實際業(yè)務的真實數(shù)據時,容易出現(xiàn)臟數(shù)據。

以上這篇解決pytorch 交叉熵損失輸出為負數(shù)的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論