Pytorch加载保存好的模型发现与实际保存的参数不一致
发现问题
初衷:
最近跑深度学习代码,数据量比较庞大所以训练速度慢的一,一旦有什么问题训练突然停止了,心态都要炸了,所以这时候使用pytorch保存每轮训练好的模型(可以使用一些保存技巧,保存得到的当前最新的模型checkpoint,倒不至于每轮都保存),即使训练停止还能接着去加载保存好的模型得到当前模型输出结果,节省时间,防止每次重复性的从头开始训练。
问题:
加载训练了几天的模型checkpoint用于继续训练,发现网络输出的结果与之前保存模型时候输出的结果差别很大(因为之前也有成功用过加载和保存模型,就一直觉得没什么问题,就没管了,后来因为训练实在太耗时,跟同学讨论时候被启发那说这里肯定是有问题的,所以就开始去找问题了),因此试着去输出保存的模型参数和加载的模型参数,看看二者是否一致。(谷歌很久没有找到解决方案,自己找着找着发现了个解决方案,记录一下,避坑避坑)
保存模型并打印参数
我在此保存的是模型和优化器两个东西:
部分输出结果:(保存的模型参数)
<