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_last_lr()

返回当前调度器计算出的最新学习率。

返回类型

List [float]

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`。

执行一个步骤。

本页目录