他们如何在 Caffe 中计算这个 convnet 示例的输出量?

How did they calculate the output volume for this convnet example in Caffe?

在此tutorial中,输出量在输出[25]中说明,感受野在输出[26]中指定。

好的,输入体积 [3, 227, 227] 与大小 [3, 11, 11] 的区域进行卷积。

使用此 formula (W−F+2P)/S+1,其中:
W = 输入体积大小
F = 感受野大小
P = 填充
S = 步幅

...结果 (227 - 11)/4 + 1 = 55[55*55*96]。到目前为止一切顺利:)

对于 'pool1' 他们使用了 F=3S=2 我想?计算结果:55-3/2+1=27.

从这一点上我有点困惑。第二个 convnet 层的感受野是 [48, 5, 5],而 'conv2' 的输出等于 [256, 27, 27]。这里发生了什么计算?

然后'conv3'到'conv4'的输出体的高和宽都一样[13, 13]?这是怎么回事?

谢谢!

如果你仔细观察 parameters of conv2 layer 你会发现

   pad: 2

也就是说,输入的 blob 四周被额外填充了 2 个像素,因此现在的公式是

27 + 2 + 2 - ( 5 - 1 ) = 27

2 像素从两侧填充 5 的内核大小会产生相同的输出大小。