tf.nn.conv2d(
input,
filter,
strides,
padding,
use_cudnn_on_gpu=True,
data_format=’NHWC’,
dilations=[1,1,1,1],
name=None
)
input很好理解,就是输入的Tensor。filter是卷积核。题主所说的步长在这里其实就是stride。data_format=’NHWC’这里要简要介绍下,N是batch_size,H就是Height,W就是Width,C指的是Channel。
data_format指定了输入数据的格式,如果是NHWC的,那么你输入的张量也要按照这个格式来排列。
然后,大家知道卷积核是在featuremap上滑动的窗口,而且要划过输入数据的每一维。题主想要把stride,也就是步长设为2。也就是每次滑动要移动两个像素即可。stride的格式也是一个4-D的tensor,每一维代表的含义和data-format一样,所以如果想要在featuremap上按照stride=2的步长移动的话,就需要设为[1,2,2,1]这种形式,因为第一位代表batch_size,最后一维代表channel,这两维不需要按步长滑动。中间的两维分别代表width和height,设为2即按照步长滑动卷积核。