SequentialLR

torch.optim.lr_scheduler.SequentialLR(optimizer, schedulers, milestones, last_epoch=-1, verbose='deprecated')[源代码]

包含了在优化过程中预期依次调用的一系列调度器。

具体来说,调度器将在里程碑点被调用,并提供每个调度器在给定纪元中应被调用的确切时间间隔。

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

  • schedulers (列表) - 链式的调度器列表。

  • milestones (列表) – 表示里程碑点的整数列表。

  • last_epoch (int) – 表示最后一个纪元的索引。默认值为 -1。

  • verbose (bool | str) –

    什么也不做。

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

示例

>>> # Assuming optimizer uses lr = 1. for all groups
>>> # lr = 0.1     if epoch == 0
>>> # lr = 0.1     if epoch == 1
>>> # lr = 0.9     if epoch == 2
>>> # lr = 0.81    if epoch == 3
>>> # lr = 0.729   if epoch == 4
>>> scheduler1 = ConstantLR(optimizer, factor=0.1, total_iters=2)
>>> scheduler2 = ExponentialLR(optimizer, gamma=0.9)
>>> scheduler = SequentialLR(optimizer, schedulers=[scheduler1, scheduler2], milestones=[2])
>>> for epoch in range(100):
>>>     train(...)
>>>     validate(...)
>>>     scheduler.step()
get_last_lr()

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

返回类型

List [float]

get_lr()

采用调度程序的链式形式来计算学习率。

返回类型

List [float]

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()[源代码]

执行一个步骤。

本页目录