正如cs231n的一个讲座中所提到的,AlexNet架构中存在一些计算错误。图片的初始尺寸必须为227x227
而不是224x224
,这是本文中提到的。我想知道ZFNet的论文中是否有类似的问题?
在给定的图中(来自ZFNet paper),图像的初始大小再次为224x224
,因此如果我们将使用具有96个大小为(7x7)
的过滤器的2D卷积层并且stride { {1}}然后结果的大小应为(2,2)
,但如果我们将初始图片大小设为(224-7)/2 + 1 = 109.5
,那么我们将获得225x225
。而且,在第一层,我觉得有类似的问题。最大池层的输入大小为110
,池大小为110x110x96
,大小为(3x3)
,因此输出的大小应为2
,这也不是整数。我想知道我在做正确的计算还是文件中给出的值有问题?
答案 0 :(得分:0)
Pytorch内置实现要求您使用填充:
self.conv1 = nn.Conv2d(3, 96, 7, stride=2, padding=2)
self.conv2 = nn.Conv2d(96, 256, 5, padding=2)
self.conv3 = nn.Conv2d(256, 384, 3, padding=1)
self.conv4 = nn.Conv2d(384, 384, 3, padding=1)
self.conv5 = nn.Conv2d(384, 256, 3, padding=1)