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