错了吗?验证ZFNet图层的输入输出尺寸

问题描述 投票:2回答:1

正如cs231n的一个讲座中所提到的,AlexNet架构中存在一些计算错误。图像的初始尺寸必须是227x227而不是224x224,这是本文中提到的。我想知道ZFNet的论文中是否有类似的问题? enter image description here

在给定的图(来自ZFNet paper)中,图像的初始大小再次是224x224所以如果我们将使用具有96个大小为(7x7)和步长(2,2)的滤波器的2D卷积层,那么结果的大小应该是(224-7)/2 + 1 = 109.5但是如果我们采取初始图像大小是225x225然后我们将完全得到110。而且,在第一层,我觉得有类似的问题。 max-pool层的输入大小为110x110x96,池大小为(3x3),步长为2,因此输出的大小应为(110-3)/2 + 1 = 54.5,这也不是整数。我想知道我在做正确的计算还是文件中给出的值有问题?

machine-learning neural-network computer-vision deep-learning conv-neural-network
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.