python如何保存训练好的模型_python - 在PyTorch中保存训练模型的最佳方法?

pickle Python库实现了用于序列化和反序列化Python对象的二进制协议。

当你state_dict(或当你使用PyTorch)它将为你torch.load(),你不需要直接调用pickle.dump()和pickle.load(),这是保存和加载对象的方法。

事实上,state_dict和torch.load()将为您包装pickle.dump()和pickle.load()。

一个state_dict提到的另一个答案值得再说几句。

我们在PyTorch中有什么torch.save(model, filepath)?实际上有两个state_dicts。

PyTorch模型是torch.save(model, filepath)具有state_dict调用以获得可学习的参数(w和b)。这些可学习的参数,一旦随机设置,将在我们学习时随时间更新。可学习的参数是第一个state_dict。

第二个torch.save(model, filepath)是优化器状态字典。 优化器也是该模型的一部分。 您记得优化器用于改善我们的可学习参数。 但是优化器state_dict是固定的。 那里没什么好学的。

因为torch.save(model, filepath)对象是Python字典,所以它们可以轻松保存,更新,更改和恢复,为PyTorch模型和优化器添加了大量模块化。

让我们创建一个超级简单的模型来解释这个:

import torch

import torch.optim as optim

model = torch.nn.Linear(5, 2)

# Initialize optimizer

optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值