LinearLR
- classtorch.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。
- 参数
-
-
optimizer (Optimizer) — 包裹后的优化器。
-
start_factor (float) – 第一个纪元中乘以学习率的因子。该因子在后续纪元中逐渐变化,最终趋向于 end_factor。默认值:1./3。
-
end_factor (float) – 在线性变化过程结束时用于乘以学习率的因子。默认值:1.0。
-
total_iters (int) – 迭代次数,直到乘法因子达到1。默认值为5。
-
last_epoch (int) – 表示最后一个纪元的索引。默认值为 -1。
-
verbose (bool | str) –
如果设置为
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()
- get_lr()[源代码]
-
计算学习率。
- 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()
来访问学习率。
- state_dict()
-
返回调度器的状态,形式为
dict
。它包含了 self.__dict__ 中每个非优化器变量的条目。
- step(epoch=None) 由于上述代码格式已经较为简洁,直接翻译可能难以形成自然语言描述。但根据上下文和意图,可以尝试如下表述: 进行一个训练步骤,参数`epoch`可选设置为`None`。
-
执行一个步骤。