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()
- load_state_dict(state_dict)[source]#
加载调度器的状态。
- 参数
state_dict (dict) – 调度器状态。应为调用
state_dict()
返回的对象。