最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
pytorch-gradual-warmup-lr:实践指南
时间:2026-09-11 14:34:01 编辑:袖梨 来源:一聚教程网
真正理解pytorch-gradual-warmup-lr,要从它处理的任务开始:PyTorch 的逐渐预热学习率调度程序。对日常自动化任务来说,输入边界、依赖和失败处理如果不清楚就很难稳定复用往往决定它能否落地,不能只用安装成功来判断。先用一项范围明确的真实任务完成最小试跑更稳妥;过程中要观察配置时间、输出质量、异常信息和维护痕迹,失败也应能解释原因。对愿意先做小范围验证并复查原始文档的团队来说,这个仓库值得继续验证;只求即装即用的人则要先看维护成本。
pytorch-渐进式预热-lr
逐渐预热(增加)pytorch 优化器的学习率。在“准确的大型小批量 SGD:1 小时内训练 ImageNet”中提出。
示例:逐渐预热 100 epoch,之后使用余弦退火。
安装
$ pip install git+https://github.com/ildoonet/pytorch-gradual-warmup-lr.git
用途
请参阅 run.py 文件。
import torch
from torch.optim.lr_scheduler import StepLR, ExponentialLR
from torch.optim.sgd import SGD
from warmup_scheduler import GradualWarmupScheduler
if __name__ == '__main__':
model = [torch.nn.Parameter(torch.randn(2, 2, requires_grad=True))]
optim = SGD(model, 0.1)
# scheduler_warmup is chained with schduler_steplr
scheduler_steplr = StepLR(optim, step_size=10, gamma=0.1)
scheduler_warmup = GradualWarmupScheduler(optim, multiplier=1, total_epoch=5, after_scheduler=scheduler_steplr)
# this zero gradient update is needed to avoid a warning message, issue #8.
optim.zero_grad()
optim.step()
for epoch in range(1, 20):
scheduler_warmup.step(epoch)
print(epoch, optim.param_groups[0]['lr'])
optim.step() # backward pass (update network)
相关文章
- tp5660路由器手机怎么设置(tp5660路由器手机设置方法) 09-11
- GoofCord:实践指南 09-11
- Lumina-Layers:实践指南 09-11
- moodleapp:实践指南 09-11
- zhihu-api:实践指南 09-11
- 不用常规写法:让 Agent 工具调用更稳定的 4 个实测技巧 09-11