首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyTorch:保存优化器状态的目的是什么?

PyTorch:保存优化器状态的目的是什么?
EN

Stack Overflow用户
提问于 2022-01-19 10:22:10
回答 2查看 2.2K关注 0票数 4

PyTorch能够保存和加载优化器的状态。一个例子显示了在PyTorch教程中。我目前只是保存和加载模型状态,而不是优化器。那么,除了不必记住优化器参数(比如学习速率)之外,保存和加载优化器状态还有什么意义。优化器状态中包含了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-19 12:36:41

如果希望稍后恢复模型培训,则应保存优化器状态。尤其是如果亚当是你的优化器。Adam是一种自适应学习速率方法,它计算各种参数的个体学习速率。

如果只想使用保存的模型进行推理,则不需要.

但是,保存模型状态和优化器状态是最佳实践。您还可以保存损失历史记录和其他运行度量,如果您想稍后绘制它们。

我会这样做,

代码语言:javascript
复制
    torch.save({
            'epoch': epochs,
            'model_state_dict': model.state_dict(),
            'optimizer_state_dict': optimizer.state_dict(),
            'train_loss_history': loss_history,
            }, PATH)
票数 6
EN

Stack Overflow用户

发布于 2022-01-19 10:42:36

我认为保存优化器的状态是日志记录和可再现性的一个重要方面。它存储了许多关于优化器设置的细节;包括所使用的优化器的种类、学习速度、权重衰减、使用的调度器的类型(我个人认为这非常有用)等等。此外,当通过.load_state_dict()将预先训练的权重加载到当前模型时,它可以以类似的方式使用,这样您就可以使用相同的方法将一些存储的优化器设置/配置传递到当前的优化器中:optimizer.load_state_dict(some_good_optimizer.state_dict())

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70768868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档