卷積神經網絡padding的理解:
之前對卷積網絡中padding
操作一直存在錯誤理解,以爲padding=SAME
表明圖像的輸入和輸出尺寸一樣大,但是最近看了一些論文和資料後發現之前的理解錯誤,在strides
不等於1
的情況下,輸入和輸出尺寸不是一樣大的,受到strides
的影響。
下面是tensorflow
中源碼的實現,可以看出padding=VALID
和padding=SAME
在這裏插入代碼片的計算公式:
可以看出,兩種情況下的輸出尺寸計算公式:
padding =='VALID'
:
new_h = ceil((h-f+1)/strides)
new_w = ceil(w-f+1)/strides)
padd =='SAME':
new_h = (h+2p-f)/strides+1
new_w = (w+2p-f)/strides+1
p = (f-1)/2
<===>
new_h = ceil(h/strides)
new_w = ceil(w/strides)