我正在尝试了解 TensorFlow卷积 http://www.tensorflow.org/api_docs/python/nn.md#convolution,特别是公式
shape(output) = [batch,
(in_height - filter_height + 1) / strides[1],
(in_width - filter_width + 1) / strides[2],
...]
我原以为公式是
shape(output) = [batch,
(in_height - filter_height) / strides[1] + 1,
(in_width - filter_width) / strides[2] + 1,
...]
反而。从 32x32 图像开始,应用步长为 [1,3,3,1] 的 5x5 过滤器,然后根据我的理解,这应该产生 10x10 输出,其值是区域的卷积
(0:4,0:4) , (0:4,3:7) , (0:4,6:10) , ..., (0:4,27:31),
(3:7,0:4) , (3:7,3:7) , (3:7,6:10) , ..., (3:7,27:31),
...
(27:31,0:4), (27:31,3:7), (27:31,6:10), ..., (27:31,27:31)
所以两个尺寸都应该是floor((32-5)/3)+1=10 而不是floor((32-5+1)/3)=9。我在这里缺少什么?我是否误解了这里进行卷积的方式和/或参数的含义?如果是这样,我应该使用什么参数才能获得上述选择?