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

解決pytorch 交叉熵?fù)p失輸出為負(fù)數(shù)的問(wèn)題

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

網(wǎng)絡(luò)訓(xùn)練中,loss曲線(xiàn)非常奇怪

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

經(jīng)過(guò)排查,交叉熵不是有個(gè)負(fù)對(duì)數(shù)嗎,當(dāng)網(wǎng)絡(luò)輸出的概率是0-1時(shí),正數(shù)??僧?dāng)網(wǎng)絡(luò)輸出大于1的數(shù),就有可能變成負(fù)數(shù)。

所以加上一行就行了

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

補(bǔ)充知識(shí):在pytorch框架下,訓(xùn)練model過(guò)程中,loss=nan問(wèn)題時(shí)該怎么解決?

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

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

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

3. 改變層的學(xué)習(xí)率。每個(gè)層都可以設(shè)置學(xué)習(xí)率,可以嘗試減小后面層的學(xué)習(xí)率試試;

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

5. 加入gradient clipping;

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

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

相關(guān)文章

最新評(píng)論