在torch1.7下,偶然发现使用ResNet框架,在前向的时候,最后一层总是未被使用。
使用相同的测试代码(有兴趣可以自己复制测试代码到相应环境下测试):
import torch
import torch.nn as nn
import torchvision
inputVar = torch.randn(1, 3, 224, 224)
model = torchvision.models.resnet50(pretrained=True)
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, 10)
print (model)
output = model(inputVar)
print (output.shape)
网络结构部分截图
结果:在不同torch环境中,运行上述代码,测试结果不一致。
1、在torch1.5和torch1.7下,打印的model网络结构均一致
2、打印的输出结果维度不一致
在1.5版本下:输出torch.Size([1, 10]),正确
在1.7版本下:输出torch.Size([1, 2048]),错误