淺談pytorch中的dropout的概率p
最近需要訓(xùn)練一個(gè)模型,在優(yōu)化模型時(shí)用了dropout函數(shù),為了減少過(guò)擬合。
訓(xùn)練的時(shí)候用dropout,測(cè)試的時(shí)候不用dropout。剛開(kāi)始以為p是保留神經(jīng)元的比率,訓(xùn)練設(shè)置0.5,測(cè)試設(shè)置1,loss根本沒(méi)減小過(guò),全設(shè)置成1也是一樣的效果,后來(lái)就考慮到是不是p設(shè)置錯(cuò)了。
上網(wǎng)一搜,果然是的?。?!p的含義理解錯(cuò)了!不是保留的,而是不保留的!
具體的代碼為:
x2 = F.dropout(x1, p)
x1是上一層網(wǎng)絡(luò)的輸出,p是需要?jiǎng)h除的神經(jīng)元的比例。
當(dāng)p=0時(shí),保留全部神經(jīng)元更新。當(dāng)p=1時(shí),神經(jīng)元輸出的值都為0。
補(bǔ)充:Pytorch--Dropout筆記
dropout常常用于抑制過(guò)擬合,pytorch也提供了很方便的函數(shù)。但是經(jīng)常不知道dropout的參數(shù)p是什么意思。
在TensorFlow中p叫做keep_prob,就一直以為pytorch中的p應(yīng)該就是保留節(jié)點(diǎn)數(shù)的比例,但是實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)反了,實(shí)際上表示的是不保留節(jié)點(diǎn)數(shù)的比例。
看下面的例子:
a = torch.randn(10,1)
>>> tensor([[ 0.0684],
[-0.2395],
[ 0.0785],
[-0.3815],
[-0.6080],
[-0.1690],
[ 1.0285],
[ 1.1213],
[ 0.5261],
[ 1.1664]])
p=0.5
torch.nn.Dropout(0.5)(a)
>>> tensor([[ 0.0000],
[-0.0000],
[ 0.0000],
[-0.7631],
[-0.0000],
[-0.0000],
[ 0.0000],
[ 0.0000],
[ 1.0521],
[ 2.3328]])
p=0
torch.nn.Dropout(0)(a)
>>> tensor([[ 0.0684],
[-0.2395],
[ 0.0785],
[-0.3815],
[-0.6080],
[-0.1690],
[ 1.0285],
[ 1.1213],
[ 0.5261],
[ 1.1664]])
p=1
torch.nn.Dropout(0)(a)
>>> tensor([[0.],
[-0.],
[0.],
[-0.],
[-0.],
[-0.],
[0.],
[0.],
[0.],
[0.]])
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- PyTorch使用Tricks:Dropout,R-Dropout和Multi-Sample?Dropout方式
- Pytorch?nn.Dropout的用法示例詳解
- Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)Dropout應(yīng)用詳解解
- Pytorch之如何dropout避免過(guò)擬合
- PyTorch dropout設(shè)置訓(xùn)練和測(cè)試模式的實(shí)現(xiàn)
- pytorch Dropout過(guò)擬合的操作
- PyTorch 實(shí)現(xiàn)L2正則化以及Dropout的操作
- pytorch 實(shí)現(xiàn)在測(cè)試的時(shí)候啟用dropout
- pytorch 中nn.Dropout的使用說(shuō)明
- pytorch中Dropout的具體用法
相關(guān)文章
Python高級(jí)技巧之利用psutil和subprocess實(shí)現(xiàn)程序監(jiān)控與管理
本文介紹了如何使用Python的psutil和subprocess模塊監(jiān)控程序運(yùn)行狀態(tài),并提供了一個(gè)案例腳本,用于監(jiān)控目標(biāo)程序并在停止時(shí)自動(dòng)重啟,詳細(xì)介紹了subprocess模塊的基本用法和psutil模塊的系統(tǒng)信息獲取、進(jìn)程管理及資源監(jiān)控功能,需要的朋友可以參考下2024-09-09
python求加權(quán)平均值的實(shí)例(附純python寫(xiě)法)
今天小編就為大家分享一篇python求加權(quán)平均值的實(shí)例(附純python寫(xiě)法),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(1)
這篇文章主要為大家詳細(xì)介紹了Python中的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03
詳解Python用三種方式統(tǒng)計(jì)詞頻的方法
這篇文章主要介紹了Python用三種方式統(tǒng)計(jì)詞頻,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-07-07
python使用mitmproxy抓取瀏覽器請(qǐng)求的方法
今天小編就為大家分享一篇python使用mitmproxy抓取瀏覽器請(qǐng)求的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
python打印異常信息的兩種實(shí)現(xiàn)方式
今天小編就為大家分享一篇python打印異常信息的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12

