Missing key(s) in state_dict: “features.conv1.weight“

试了网上很多解决方法,最终试出了可行的方法:

把原来的代码:

model.load_state_dict(checkpoint['state_dict'])

替换成:

new_state_dict = OrderedDict()
for k, v in checkpoint.items():
    if 'denseblock' in k:
        param = k.split(".")
        k = ".".join(param[:-3] + [param[-3] + param[-2]] + [param[-1]])
    new_state_dict[k] = v
    model.load_state_dict(new_state_dict)

可能是版本问题导致的不兼容,需要将键名替换成模型加载权重时所需要的键名

当我以为结束了的时候。。。

错误变成了:Missing key(s) in state_dict: "features.conv0.weight"

又是一番折腾,最终在代码:

model.load_state_dict(new_state_dict,False)

加了一个False,解决了

其实还没结束:)

EOFError: Ran out of input

又出现了新的错误

很迷惑的一个错误,直到我找到了这篇博客:(4条消息) AttributeError: Can't pickle local object 'BaseDataset.img_transformer.<locals>.<lambda>'_weixin_39450145的博客-CSDN博客

将num_workers的值改成了0

test_loader = DataLoader(dataset=test_dataset, batch_size=BATCH_SIZE,
                         shuffle=False, num_workers=0, pin_memory=True)

解决以上3个问题用了大半天时间,好在CheXNet-master终于可以跑了[撒花]由于显存不够,我只能把BATCH_SIZE直接改成了2(BATCH_SIZE=8的时候显存还是不够),之后打算把代码放到乌邦图上运行,windows太占显存了。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值