当前位置:   article > 正文

KeyError: ‘conv1.1.0.weight‘_keyerror: 'conv1.weight

keyerror: 'conv1.weight

最近在训练faster rcnn +resnet101时,出现了很多问题。
先是训练VOC2007数据集,训练了一周没有框。后来发现原因是载入权值出现了问题,应该这样去载入。

def resnet101(pretrained=False, **kwargs):
    model = ResNet(Bottleneck, [3, 4, 23, 3], **kwargs)
    if pretrained:
        model.load_state_dict(model_zoo.load_url(model_urls['resnet101'], model_dir='model_data'), strict=False)
    return model
  • 1
  • 2
  • 3
  • 4
  • 5

然后就出现了KeyError: ‘conv1.1.0.weight‘的问题,原因是自己的模型和载入的预训练模型不匹配。
看到了这位博主的回答,

https://blog.csdn.net/weixin_40227656/article/details/118861366?ops_request_misc=&request_id=&biz_id=102&utm_term=Keyerror:conv1.weights&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-118861366.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

按照第三个方法载入后去训练,total loss=nun,可能是我没有改好,然后找到了以下语句并替换,就不报错也不是nun了。

pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/566061
推荐阅读
相关标签
  

闽ICP备14008679号