他们如何在 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=3
和 S=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
的内核大小会产生相同的输出大小。
在此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=3
和 S=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
的内核大小会产生相同的输出大小。