【发布时间】:2019-07-25 09:09:47
【问题描述】:
【问题讨论】:
标签: python-3.x image-processing computer-vision pytorch resnet
【问题讨论】:
标签: python-3.x image-processing computer-vision pytorch resnet
您的代码对resnet 进行了修改:您更改了通道数、每个“级别”的瓶颈数,并且您完全删除了一个“级别”。因此,layer3 末尾的特征图维度不是 64:您的空间维度比nn.AvgPool2d(8) 预期的要大。您收到的错误消息实际上告诉您 level3 的输出形状为 64x56x56 并且在使用内核和步幅 8 进行 avg 池化后,您有 64x7x@987654332 @=3136 维特征向量,而不是您期望的只有 64 个。
你能做什么?
与“标准” resnet 不同,您从conv1 中删除了stride,并且在conv1 之后没有最大池。此外,您删除了layer4,它也有很大的进步。因此,您可以在网络中添加池化以减少layer3 的空间维度。
或者,您可以将 nn.AvgPool(8) 替换为 nn.AdaptiveAvgPool2d([1, 1]) 一个 avg 池,无论输入特征图的空间维度如何,它只输出一个特征。
【讨论】: