StepLR

class torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1, verbose='deprecated') [源代码]

每隔step_size个纪元,将每个参数组的学习率乘以gamma进行衰减。

请注意,这种衰减可以与其他来自调度程序外部的学习率更改同时发生。当 last_epoch=-1 时,初始学习率为 lr。

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

  • step_size (int) – 指定学习率衰减的周期。

  • gamma (float) – 控制学习率衰减的乘法因子。默认值为 0.1。

  • 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.05     if epoch < 30
>>> # lr = 0.005    if 30 <= epoch < 60
>>> # lr = 0.0005   if 60 <= epoch < 90
>>> # ...
>>> scheduler = StepLR(optimizer, step_size=30, gamma=0.1)
>>> 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`。

执行一个步骤。

本页目录