填充和跨步(最常见的情况)

现在我们将对前面描述的填充示例应用跨步卷积并计算 p = 1, s = 2 的卷积

StackOverflow 文档

以前当我们使用 strides = 1 时,我们的滑动窗口移动了 1 个位置,strides = s 它移动了 s 个位置(你需要更少地计算 s^2 个元素。但是在我们的例子中我们可以采取捷径并且根本不执行任何计算。因为我们已经计算了 s = 1 的值,在我们的例子中我们可以抓住每一个元素。

所以,如果解决方案是 s = 1 的情况

StackOverflow 文档

如果是 s = 2,它将是:

StackOverflow 文档

检查前一个矩阵中值 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)

顺便说一句,没有什么可以阻止我们对不同的维度使用不同的步幅。