使用pytorch加载模型时报错“TypeError: ‘NoneType‘ object is not iterable”的解决方法

我的pytorch版本是1.9.0+cu111。

在使用pytorch运行faster_rcnn训练过程中,模型加载出现错误:

TypeError: 'NoneType' object is not iterable

出现错误的代码段如下:使用pytorch加载模型时报错“TypeError: ‘NoneType‘ object is not iterable”的解决方法_第1张图片

 在CSDN中搜索到的一个解决方法是将

missing_keys,unexpected_keys=model.load_state_dict(weights_dict, state_dict=False)

改为

model.load_state_dict(weights_dict, state_dict=False)

那么就要将if循环注释掉:

# if len(missing_keys) != 0 or len(unexpected_keys) != 0:
    #     print("missing_keys: ", missing_keys)
    #     print("unexpected_keys: ", unexpected_keys)

然后又报这个错:

TypeError: load_state_dict() got multiple values for argument 'state_dict'

最后将

model.load_state_dict(weights_dict, state_dict=False)

改为

model.load_state_dict(weights_dict)

代码能运行了,可能是版本的原因吧!

由于我的笔记本显存只有6G,而faster_Rcnn模型比较大,batch_size只能设置为2,说多了都是泪啊!

你可能感兴趣的:(pytorch,深度学习,python)