【bug描述】:模型为仅保存参数的模型,已确定加载语句 “没有问题” ,且每次测试的图片数据固定,但是每次推理得到的结果都不一样。
【bug分析】:实际上在加载模型并不是完全没有问题,在使用如下加载语句时出现
cnn.load_state_dict(torch.load(os.path.join(MODEL_PATH, "model.pth"))['model'])
#保存语句如下:
#torch.save({
# 'model':cnn.state_dict(),
# 'optimizer': optimizer.state_dict()},
# os.path.join(MODEL_PATH, "model.pth"))
会报一个:Missing key(s) in state_dict ....和 Unexpected key(s)...的错误,但是我啥也没管通过下面这种方式压了下去:
cnn.load_state_dict(torch.load(os.path.join(MODEL_PATH, "model.pth"))['model'], False)
下面我们先看看加了这个 False 对模型参数加载有什么影响。下面是load_state_dict的函数定义:
load_state_dict(self, state_dict, strict=True)
strict 的作用是判断上面参数拷贝过程中是否有unexpected_keys或者

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



