Python 3.x 运行时错误:大小不匹配,m1:[4 x 3136],m2:[64 x 5]位于c:\a\w\1\s\tmp\u conda\u 3.7\u 1
我使用了Python3,当我插入transform random crop size 224时,它给出了未匹配错误Python 3.x 运行时错误:大小不匹配,m1:[4 x 3136],m2:[64 x 5]位于c:\a\w\1\s\tmp\u conda\u 3.7\u 1,python-3.x,image-processing,computer-vision,pytorch,resnet,Python 3.x,Image Processing,Computer Vision,Pytorch,Resnet,我使用了Python3,当我插入transform random crop size 224时,它给出了未匹配错误 我做错了什么?您的代码在以下方面进行了更改:更改了通道的数量,每个“级别”上的瓶颈数量,并完全删除了一个“级别”。因此,layer3末尾的要素地图的维度是not64:您的空间维度比用户预期的要大。您得到的错误消息实际上告诉您,level3的输出是形状64x56x56并且在与内核和STERID 8进行avg池后,您得到了64x7=3136维度特征向量,而不是您期望的64 你能做什么
我做错了什么?您的代码在以下方面进行了更改:更改了通道的数量,每个“级别”上的瓶颈数量,并完全删除了一个“级别”。因此,
layer3
末尾的要素地图的维度是not64:您的空间维度比用户预期的要大。您得到的错误消息实际上告诉您,level3
的输出是形状64
x56
x56
并且在与内核和STERID 8进行avg池后,您得到了64
x7
=3136
维度特征向量,而不是您期望的64
你能做什么?与“标准”resnet不同,您从
conv1
中删除了跨步,并且conv1
之后没有最大池。此外,您还删除了同样具有跨步的layer4
。因此,您可以将池添加到网络中,以减少layer3
的空间维度或者,您可以将
nn.AvgPool(8)
替换为仅输出一个特征的avg池,而不考虑输入特征地图的空间尺寸。您的代码在以下方面进行了更改:您更改了通道的数量、每个“级别”的瓶颈数量,并完全删除了一个“级别”。因此,layer3
末尾的要素地图的维度是not64:您的空间维度比用户预期的要大。您得到的错误消息实际上告诉您,level3
的输出是形状64
x56
x56
并且在与内核和STERID 8进行avg池后,您得到了64
x7
=3136
维度特征向量,而不是您期望的64
你能做什么?与“标准”resnet不同,您从
conv1
中删除了跨步,并且conv1
之后没有最大池。此外,您还删除了同样具有跨步的layer4
。因此,您可以将池添加到网络中,以减少layer3
的空间维度或者,您可以将
nn.AvgPool(8)
替换为仅输出一个要素的avg池,而不考虑输入要素地图的空间尺寸