slim.conv2d函數的變量解釋和padding方式中same與vaild的差別

slim.conv2d(inputs, num_outputs, kernel_size, stride=stride,
                      rate=rate, padding='VALID', scope=scope)

slim:tensorflow中讓結構更加緊湊纖細的函數
num_outputs:卷積核的個數,體現在輸出中
stride:步幅
rate:空洞卷積膨脹率,在卷積核的兩兩數值之間加入rate-1個0
padding:卷積的方式,包括SAME(卷積核的中心開始接觸到圖像),VAILD(卷積核全部接觸到圖像),FULL(卷積核開始接觸到圖像)
same:noutput=ninputs{​​​​\mathop{{{same:n}}}\nolimits_{{output}}={ \left\lceil {\frac{{n\mathop{{}}\nolimits_{{input}}}}{{s}}} \right\rceil }}
Vaild:noutput=ninputf+1s{\mathop{{{Vaild:n}}}\nolimits_{{output}}={ \left\lceil {\frac{{n\mathop{{}}\nolimits_{{input}}-f+1}}{{s}}} \right\rceil }}

FULL
SAME
VAILD

圖片來源

net = slim.conv2d(inputs, num_outputs, 3, stride=1, padding='SAME')
net = subsample(net, factor=stride)
net = conv2d_same(inputs, num_outputs, 3, stride=stride)
  • 據說後兩個的結果是一樣的,但是第一個的結果貌似在輸入的維度存在偶數時會有差異
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章