LinearLR¶
- class torch.optim.lr_scheduler.LinearLR(optimizer, start_factor=0.3333333333333333, end_factor=1.0, total_iters=5, last_epoch=-1, verbose='deprecated')[源代码]¶
通过线性改变小的乘法因子,逐渐降低每个参数组的学习率,直到达到预定义的里程碑:total_iters。请注意,这种衰减可以与此调度器外部的学习率的其他变化同时发生。当 last_epoch=-1 时,将初始学习率设置为 lr。
- Parameters
优化器 (优化器) – 包装的优化器。
start_factor (float) – 我们在第一个epoch中乘以学习率的数值。 乘法因子在后续的epoch中向end_factor变化。 默认值:1./3。
end_factor (float) – 在线性变化过程结束时,我们乘以学习率的数值。默认值:1.0。
total_iters (int) – 乘法因子达到1的迭代次数。 默认值:5。
last_epoch (int) – 最后一个epoch的索引。默认值: -1。
verbose (bool) –
如果
True,则向标准输出打印每条更新消息。默认值:False。自版本 2.2 起已弃用:
verbose已被弃用。请使用get_last_lr()来访问学习率。
示例
>>> # 假设优化器对所有组使用 lr = 0.05 >>> # lr = 0.025 如果 epoch == 0 >>> # lr = 0.03125 如果 epoch == 1 >>> # lr = 0.0375 如果 epoch == 2 >>> # lr = 0.04375 如果 epoch == 3 >>> # lr = 0.05 如果 epoch >= 4 >>> scheduler = LinearLR(optimizer, start_factor=0.5, total_iters=4) >>> for epoch in range(100): >>> train(...) >>> validate(...) >>> scheduler.step()
- get_last_lr()¶
返回当前调度器计算的最后一个学习率。
- load_state_dict(state_dict)¶
加载调度器的状态。
- Parameters
state_dict (字典) – 调度器状态。应该是从调用
state_dict()返回的对象。
- print_lr(is_verbose, group, lr, epoch=None)¶
显示当前的学习率。