评价此页

ChainedScheduler#

class torch.optim.lr_scheduler.ChainedScheduler(schedulers, optimizer=None)[source]#

链式连接多个学习率调度器。

接收一系列可链式连接的学习率调度器,并在调用一次 step() 时依次调用它们的 step() 函数。

参数:
  • schedulers (sequence) – 链式调度器序列。

  • optimizer (Optimizer, optional) – 包装的优化器。默认值:None。

示例

>>> # Assuming optimizer uses lr = 0.05 for all groups
>>> # lr = 0.05      if epoch == 0
>>> # lr = 0.0450    if epoch == 1
>>> # lr = 0.0405    if epoch == 2
>>> # ...
>>> # lr = 0.00675   if epoch == 19
>>> # lr = 0.06078   if epoch == 20
>>> # lr = 0.05470   if epoch == 21
>>> scheduler1 = ConstantLR(optimizer, factor=0.1, total_iters=20)
>>> scheduler2 = ExponentialLR(optimizer, gamma=0.9)
>>> scheduler = ChainedScheduler([scheduler1, scheduler2], optimizer=optimizer)
>>> for epoch in range(100):
>>>     train(...)
>>>     validate(...)
>>>     scheduler.step()
../_images/ChainedScheduler.png
get_last_lr()[source]#

获取此调度器计算的最新学习率。

返回:

一个 list,其中包含优化器的每个 param_groups 的学习率条目,其类型与其 group["lr"] 相同。

返回类型:

list[float | Tensor]

注意

返回的 Tensor 是副本,并且从不别名优化器的 group["lr"]

get_lr()[source]#

计算优化器 param_groups 中每个参数组的下一个学习率。

返回:

一个 list,其中包含优化器每个 param_groups 的学习率,其类型与其当前 group["lr"] 相同。

返回类型:

list[float | Tensor]

注意

如果您想查看最近一次的学习率,请改用 get_last_lr()

注意

返回的 Tensor 是副本,并且从不别名优化器的 group["lr"]

load_state_dict(state_dict)[source]#

加载调度器的状态。

参数:

state_dict (dict) – 调度器状态。应为调用 state_dict() 所返回的对象。

state_dict()[source]#

返回调度器状态,作为一个 dict

它包含 self.__dict__ 中除优化器以外的每个变量条目。被包装的调度器状态也将被保存。

返回类型:

dict[str, Any]

step()[source]#

执行一步。