使用预训练模型的代码如下:
# 加载预训练模型
resNet50 = models.resnet50(pretrained=True)
ResNet50 = ResNet(Bottleneck, [3, 4, 6, 3], num_classes=2)
# 读取参数
pretrained_dict = resNet50.state_dict()
model_dict = ResNet50.state_dict()
# 将pretained_dict里不属于model_dict的键剔除掉
pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
# 更新现有的model_dict
model_dict.update(pretrained_dict)
# 加载真正需要的state_dict
ResNet50.load_state_dict(model_dict)