基于pytorch padding=SAME的解決方式
tensorflow中的conv2有padding=‘SAME'這個參數(shù)。吳恩達(dá)講課中說到當(dāng)padding=(f-1)/2(f為卷積核大?。r則是SAME策略。但是這個沒有考慮到空洞卷積的情況,也沒有考慮到strides的情況。
查閱資料后發(fā)現(xiàn)網(wǎng)上方法比較麻煩。
手算,實(shí)驗了一個早上,終于初步解決了問題。
分為兩步:
填充多少
中文文檔中有計算公式:
輸入:

輸出:

因為卷積后圖片大小同卷積前,所以這里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())
有兩個發(fā)現(xiàn)
pad是對稱的兩邊都填充的,所以上述總共填充2行/列
參數(shù)中padding=(1,0)的效果,與F.pad(t2, (0,0,1,1)的效果一樣。而不是與F.pad(t2,1,1,0,0)效果一樣。很神奇。本來(1,0)按照解視是1是H邊(左右)。0是W邊(上下)。(0,0,1,1)按解釋是左右不填充,上下填充。結(jié)果剛好相反。
這樣應(yīng)該就沒什么問題了。
之后還需要看反卷積跟池化的pooling='SAME'是怎么實(shí)現(xiàn)的。
以上這篇基于pytorch padding=SAME的解決方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python自動化處理Excel數(shù)據(jù)的操作過程
在實(shí)際數(shù)據(jù)處理和分析過程中,經(jīng)常會遇到需要從大量數(shù)據(jù)中提取出特定日期范圍內(nèi)的信息的需求,本文將介紹如何使用Python的pandas庫來處理Excel文件,感興趣的朋友跟隨小編一起看看吧2023-11-11
python框架Django實(shí)戰(zhàn)商城項目之工程搭建過程圖文詳解
這篇文章主要介紹了python框架Django實(shí)戰(zhàn)商城項目之工程搭建過程,這個項目很像京東商城,項目開發(fā)采用前后端不分離的模式,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-03-03
Pandas操作兩個Excel實(shí)現(xiàn)數(shù)據(jù)對應(yīng)行的合并
本文主要介紹了Pandas操作兩個Excel實(shí)現(xiàn)數(shù)據(jù)對應(yīng)行的合并,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
PyCharm GUI界面開發(fā)和exe文件生成的實(shí)現(xiàn)
這篇文章主要介紹了PyCharm GUI界面開發(fā)和exe文件生成,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
在pycharm上mongodb配置及可視化設(shè)置方法
今天小編就為大家分享一篇在pycharm上mongodb配置及可視化設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python如何將bmp格式的圖片批量轉(zhuǎn)成jpg
這篇文章主要介紹了Python如何將bmp格式的圖片批量轉(zhuǎn)成jpg問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03

