3

张量流使用tf.nn.conv2d实现了一个基本的卷积操作。

我对“strides”参数特别感兴趣,它可以让你设置卷积过滤器的步幅——每次移动过滤器在图像上的距离。

早期教程之一中给出的示例,每个方向的图像步幅为 1,是

def conv2d(x, W):
  return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

strides 数组在链接文档中有更多解释:

详细地说,使用默认的 NHWC 格式...

必须有 strides[0] = strides[3] = 1。对于相同水平和顶点 strides 的最常见情况,strides = [1, stride, stride, 1]。

请注意,“步幅”的顺序与输入的顺序相匹配:[batch, height, width, channels]采用 NHWC 格式。

显然步幅不是 1batch并且channels没有意义,对吧?(您的过滤器应始终遍历每个批次和每个通道)

但是,为什么甚至可以选择将 1 以外的东西放入strides[0]andstrides[3]中呢?(它是一个“选项”是关于你可以在你传入的python数组中放置1以外的东西,忽略上面的文档引用)

batch是否存在我对orchannels维度的非一个跨步的情况,例如

tf.nn.conv2d(x, W, strides=[2, 1, 1, 2], padding='SAME')

如果是这样,那么这个例子在卷积运算方面意味着什么?

4

1 回答 1

-1

可能存在您分块发送视频的情况。这意味着您的批次将是一系列帧。并且假设关闭的帧应该非常相似,我们可以通过增加批量步幅来省略其中的一些。据我了解。IDK关于频道跨度虽然

于 2018-10-03T13:03:26.823 回答