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

基于pytorch padding=SAME的解決方式

 更新時(shí)間:2020年02月18日 10:14:27   作者:BenjaminYoung29  
今天小編就為大家分享一篇基于pytorch padding=SAME的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

tensorflow中的conv2有padding=‘SAME'這個(gè)參數(shù)。吳恩達(dá)講課中說(shuō)到當(dāng)padding=(f-1)/2(f為卷積核大?。r(shí)則是SAME策略。但是這個(gè)沒(méi)有考慮到空洞卷積的情況,也沒(méi)有考慮到strides的情況。

查閱資料后發(fā)現(xiàn)網(wǎng)上方法比較麻煩。

手算,實(shí)驗(yàn)了一個(gè)早上,終于初步解決了問(wèn)題。

分為兩步:

填充多少

中文文檔中有計(jì)算公式:

輸入:

輸出:

因?yàn)榫矸e后圖片大小同卷積前,所以這里W_out=W_in, H_out=H_in。解一元一次方程即可。結(jié)果取ceil。

怎么填充

torch是先填充再卷積。conv2d的策略如此。所以我先在forward中獲取上述方程需要的參數(shù)。然后使用torch.nn.functional.pad填充就好了。

然后

t2=torch.randn([1,1,4,4])
print(t2.size())
m1 = torch.nn.Conv2d(1, 1, 1, padding=(1,0))
print(m1(t2).size())
t2=F.pad(t2,(0,0,1,1))
print(t2.size())

有兩個(gè)發(fā)現(xiàn)

pad是對(duì)稱的兩邊都填充的,所以上述總共填充2行/列

參數(shù)中padding=(1,0)的效果,與F.pad(t2, (0,0,1,1)的效果一樣。而不是與F.pad(t2,1,1,0,0)效果一樣。很神奇。本來(lái)(1,0)按照解視是1是H邊(左右)。0是W邊(上下)。(0,0,1,1)按解釋是左右不填充,上下填充。結(jié)果剛好相反。

這樣應(yīng)該就沒(méi)什么問(wèn)題了。

之后還需要看反卷積跟池化的pooling='SAME'是怎么實(shí)現(xiàn)的。

以上這篇基于pytorch padding=SAME的解決方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論