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()
- get_lr()[source]#
计算优化器
param_groups中每个参数组的下一个学习率。注意
如果您想查看最近一次的学习率,请改用
get_last_lr()。注意
返回的
Tensor是副本,并且从不别名优化器的group["lr"]。
- load_state_dict(state_dict)[source]#
加载调度器的状态。
- 参数:
state_dict (dict) – 调度器状态。应为调用
state_dict()所返回的对象。