解決pytorch 交叉熵?fù)p失輸出為負(fù)數(shù)的問題
網(wǎng)絡(luò)訓(xùn)練中,loss曲線非常奇怪

交叉熵怎么會(huì)有負(fù)數(shù)。
經(jīng)過排查,交叉熵不是有個(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過程中,loss=nan問題時(shí)該怎么解決?
當(dāng)我在UCF-101數(shù)據(jù)集訓(xùn)練alexnet時(shí),epoch設(shè)為100,跑到三十多個(gè)epoch時(shí),出現(xiàn)了loss=nan問題,當(dāng)時(shí)是一臉懵逼,在查閱資料后,我通過減小學(xué)習(xí)率解決了問題,現(xiàn)總結(jié)一下出現(xiàn)這個(gè)問題的可能原因及解決方法:
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ù)的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Pygame鼠標(biāo)進(jìn)行圖片的移動(dòng)與縮放案例詳解
pygame是Python的第三方庫,里面提供了使用Python開發(fā)游戲的基礎(chǔ)包。本文將介紹如何通過Pygame實(shí)現(xiàn)鼠標(biāo)進(jìn)行圖片的移動(dòng)與縮放,感興趣的可以關(guān)注一下2021-12-12
django實(shí)現(xiàn)悲觀鎖樂觀鎖的項(xiàng)目實(shí)踐
在Django中,我們可以通過實(shí)現(xiàn)悲觀鎖和樂觀鎖來保證數(shù)據(jù)的安全性,本文就來介紹一下django實(shí)現(xiàn)悲觀鎖樂觀鎖的項(xiàng)目實(shí)踐,感興趣的可以了解一下2023-08-08
python模型集成知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于python模型集成知識(shí)點(diǎn)總結(jié),有需要的朋友們可以學(xué)習(xí)參考下。2021-08-08
Python中Playwright?與?pyunit?結(jié)合使用詳解
這篇文章主要介紹了Python中Playwright?與?pyunit?結(jié)合使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
Python 數(shù)據(jù)處理更容易的12個(gè)輔助函數(shù)總結(jié)
Python的產(chǎn)生似乎就是專門用來處理數(shù)據(jù)的,順理成章的成為大數(shù)據(jù)的主流語言,本文介紹十二個(gè)函數(shù)輔助你更容易更便捷的用Python進(jìn)行數(shù)據(jù)處理2021-11-11
Python機(jī)器學(xué)習(xí)性能度量利用鳶尾花數(shù)據(jù)繪制P-R曲線
這篇文章主要為大家介紹了Python機(jī)器學(xué)習(xí)性能度量利用鳶尾花數(shù)據(jù)繪制P-R曲線示例學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
TensorFlow人工智能學(xué)習(xí)創(chuàng)建數(shù)據(jù)實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)創(chuàng)建數(shù)據(jù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11

