线性 LR ¶
- class torch.optim.lr_scheduler.LinearLR(optimizer, start_factor=0.3333333333333333, end_factor=1.0, total_iters=5, last_epoch=- 1)[source][source]¶
通过线性改变小的乘性因子来衰减每个参数组的学习率。
乘法运算一直进行,直到 epoch 的数量达到预定义的里程碑:total_iters。注意,这种衰减可以与学习率从外部调度器之外的其他变化同时发生。当 last_epoch=-1 时,将初始 lr 设置为 lr。
- 参数:
优化器(Optimizer)- 包装的优化器。
start_factor(浮点数)- 第一个 epoch 中乘以学习率的数字。乘数因子在后续 epoch 中逐渐变化到 end_factor。默认:1./3。
end_factor(浮点数)- 线性变化过程结束时乘以学习率的数字。默认:1.0。
total_iters(整数)- 乘数因子达到 1 的迭代次数。默认:5。
最后一个纪元(int)- 最后一个纪元的索引。默认值:-1。
示例
>>> # 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()