CosineAnnealingLR#
- class torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0.0, last_epoch=-1)[source]#
使用余弦退火调度设置每个参数组的学习率。
The learning rate is updated recursively using
这实现了在 SGDR: Stochastic Gradient Descent with Warm Restarts 中提出的闭式调度器的递归近似。
其中
是步长 的学习率。
是自上次重启以来的 epoch 数。
是一个周期中的最大 epoch 数。
注意
尽管 SGDR 包含周期性重启,但此实现执行余弦退火,不进行重启,因此 并且随着每次调用
step()
单调递增。- 参数
示例
>>> num_epochs = 100 >>> scheduler = CosineAnnealingLR(optimizer, T_max=num_epochs) >>> for epoch in range(num_epochs): >>> train(...) >>> validate(...) >>> scheduler.step()
- load_state_dict(state_dict)[source]#
加载调度器的状态。
- 参数
state_dict (dict) – 调度器状态。应为调用
state_dict()
返回的对象。