赞
踩
最近在训练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
然后就出现了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}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。