填充和跨步(最常見的情況)
現在我們將對前面描述的填充示例應用跨步卷積並計算 p = 1, s = 2
的卷積
以前當我們使用 strides = 1
時,我們的滑動視窗移動了 1 個位置,strides = s
它移動了 s
個位置(你需要更少地計算 s^2
個元素。但是在我們的例子中我們可以採取捷徑並且根本不執行任何計算。因為我們已經計算了 s = 1
的值,在我們的例子中我們可以抓住每一個元素。
所以,如果解決方案是 s = 1
的情況
如果是 s = 2
,它將是:
檢查前一個矩陣中值 14,2,12,6 的位置。我們需要在程式碼中執行的唯一更改是將寬度和高度尺寸的步幅從 1 更改為 2(2-nd,3-rd)。
res = tf.squeeze(tf.nn.conv2d(image, kernel, [1, 2, 2, 1], "SAME"))
with tf.Session() as sess:
print sess.run(res)
順便說一句,沒有什麼可以阻止我們對不同的維度使用不同的步幅。