我想了解TensorFlow的convolution,特别是式如何解释TensorFlow的卷积滤波器和步进参数?
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,
...]
代替。从32×32的图像开始,并应用与进展5x5的过滤器[1,3,3,1],然后在我的理解这应该产生一个10×10输出,其值的区域
(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。我在这里错过了什么?我误解了卷积在这里完成的方式和/或参数是什么意思?如果是这样,我应该使用什么参数来获得上述选择?