第一种方法可以直接保存模型,加载模型的时候直接把读取的模型给一个参数就行。
# 创建你的模型实例对象: model
model = net()
## 保存模型
torch.save(model, 'model_name.pth')
## 读取模型
model = torch.load('model_name.pth')
二、只保存模型中的参数并读取
## 保存模型
torch.save({'model': model.state_dict()}, 'model_name.pth')
## 读取模型
model = net()
state_dict = torch.load('model_name.pth')
model.load_state_dict(state_dict['model'])
三、总结
我们可以看到第一种方法可以直接保存模型,加载模型的时候直接把读取的模型给一个参数就行。
第二种方法则只是保存参数,在读取模型参数前要先定义一个模型(模型必须与原模型相同的构造),然后对这个模型导入参数。虽然麻烦,但是可以同时保存多个模型的参数,而第一种方法则不能,而且第一种方法有时不能保证模型的相同性(你读取的模型并不是你想要的)。
参考资料:
pytorch保存模型的两种方式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)