多项式学习率

torch.optim.lr_scheduler.PolynomialLR(optimizer, total_iters=5, power=1.0, last_epoch=-1, verbose='deprecated')[源代码]

根据给定的总迭代次数,使用多项式函数来衰减每个参数组的学习率。

当 last_epoch=-1 时,将初始学习率设为 lr。

参数
  • optimizer (Optimizer) — 包裹后的优化器。

  • total_iters (int) – 指定学习率调度器衰减学习率的总步数。默认值为 5。

  • power (float) – 表示多项式的幂。默认值为 1.0。

  • verbose (bool | str) –

    如果设置为True,则会对每次更新在标准输出中打印一条消息。默认值为False

    自版本 2.2 起已弃用:verbose 已被弃用。请使用 get_last_lr() 来访问学习率。

示例

>>> # Assuming optimizer uses lr = 0.001 for all groups
>>> # lr = 0.001     if epoch == 0
>>> # lr = 0.00075   if epoch == 1
>>> # lr = 0.00050   if epoch == 2
>>> # lr = 0.00025   if epoch == 3
>>> # lr = 0.0       if epoch >= 4
>>> scheduler = PolynomialLR(optimizer, total_iters=4, power=1.0)
>>> 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`。

执行一个步骤。

本页目录