Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用状态dict Pytorch保存带权重的模型_Python_Machine Learning_Deep Learning_Pytorch - Fatal编程技术网

Python 使用状态dict Pytorch保存带权重的模型

Python 使用状态dict Pytorch保存带权重的模型,python,machine-learning,deep-learning,pytorch,Python,Machine Learning,Deep Learning,Pytorch,我有一个PyTorch模型类,它的statedict带有权重。 我想使用torch.save(model,PATH)将模型及其权重直接保存在.pt文件中,但这只是再次保存状态dict 如何保存包含已加载权重的模型 我现在在做什么 lin_model = ModelClass(args) lin_model.load_state_dict(torch.load('state_dict.pt')) torch.save(lin_model, PATH) 我希望新保存的模型是一个完全加载的pt文件。

我有一个PyTorch模型类,它的statedict带有权重。 我想使用
torch.save(model,PATH)
将模型及其权重直接保存在.pt文件中,但这只是再次保存状态dict

如何保存包含已加载权重的模型

我现在在做什么

lin_model = ModelClass(args)
lin_model.load_state_dict(torch.load('state_dict.pt'))
torch.save(lin_model, PATH)

我希望新保存的模型是一个完全加载的pt文件。请在此帮助我,提前谢谢。

根据pytorch文档,当您使用
torch.save(model,PATH)
时,它会将整个模型与类一起保存。但问题是。它不是每次都有效。您可以看到,保存的模型是pickle格式的,但是pickle文件并不保存确切的目录结构,只保存到包含模型类的文件的路径。因此,在其他项目中使用这种保存方法时,可能会以各种方式出现故障。

我如何克服这种情况?这种情况有时会发生,但并不总是发生!您必须保留类以加载检查点文件。这是最好的做法。