先说结论应该使用再讲故事,前几天在做一个模型的交叉验证训练时,通过model.state_dict()保存了每一组交叉验证模型的参数,后根据效果选择准确率最佳的模型load回去,结果每一次都是最后一个模型,从地址来看,每一个保存的state_dict()都具有不同的地址,但进一步发现state_dict()下的各个模型参数的地址是共享的,而我又使用了in-place的方式重置模型参数,进而导致了上述问题。在PyTorch中,state_dict是一个Python字典对象,包含模型的可学习参数 优化器对象也具有state_dict,其中包含有关优化器状态以及所用超参数的信息。定义了一个类BaseNet并实例化该类:保存net时报错 object has no attribute 'state_dict'原因是定义类的时候不是继承nn.Module类,比如:把类定义改为

解决pytorch 的state_dict()拷贝问题

解决pytorch 的state_dict()拷贝问题

解决pytorch 的state_dict()拷贝问题