ChainedScheduler

torch.optim.lr_scheduler.ChainedScheduler(schedulers, optimizer=None)[源代码]

将一组学习率调度器进行链式组合。

接收一系列可以链式的学习率调度器,在一次调用 step() 方法时依次调用每个调度器的 step() 函数。

参数
  • schedulers (序列) – 调度器的序列。

  • optimizer (Optimizer, 可选) – 用于包装的优化器。默认值:None。

示例

>>> # Assuming optimizer uses lr = 1. for all groups
>>> # lr = 0.09     if epoch == 0
>>> # lr = 0.081    if epoch == 1
>>> # lr = 0.729    if epoch == 2
>>> # lr = 0.6561   if epoch == 3
>>> # lr = 0.59049  if epoch >= 4
>>> scheduler1 = ConstantLR(optimizer, factor=0.1, total_iters=2)
>>> scheduler2 = ExponentialLR(optimizer, gamma=0.9)
>>> scheduler = ChainedScheduler([scheduler1, scheduler2], optimizer=optimizer)
>>> 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()[源代码]

执行一个步骤。

本页目录