如何在PyTorch中合并两个学习速率调度器?

如何在PyTorch中合并两个学习速率调度器?,pytorch,Pytorch,我想使用OneCycleLR从一个较低的值预热LR,然后使用ReducelRon平台从峰值降低LR 我知道在使用OneCycleLR增加LR后,我可以手动模拟ReducelRon平台,但有没有更简单的方法直接将这两个调度器一起使用 提前感谢。PyToch在github上发布了一个,而不是官方指南 您可以尝试以下代码段: import torch from torch.nn import Parameter from torch.optim import SGD from torch.optim.

我想使用OneCycleLR从一个较低的值预热LR,然后使用ReducelRon平台从峰值降低LR

我知道在使用OneCycleLR增加LR后,我可以手动模拟ReducelRon平台,但有没有更简单的方法直接将这两个调度器一起使用

提前感谢。

PyToch在github上发布了一个,而不是官方指南

您可以尝试以下代码段:

import torch
from torch.nn import Parameter
from torch.optim import SGD
from torch.optim.lr_scheduler import ExponentialLR, StepLR

model = [Parameter(torch.randn(2, 2, requires_grad=True))]
optimizer = SGD(model, 0.1)

scheduler1 = ExponentialLR(optimizer, gamma=0.9)
scheduler2 = StepLR(optimizer, step_size=5, gamma=0.1)

for epoch in range(10):

    print(epoch, scheduler2.get_last_lr()[0])

    optimizer.step()
    scheduler1.step()
    scheduler2.step()

你能检查一下这里的方法吗:,在#22107之后,很遗憾,它们由于某种原因没有着陆..我在看,看起来很有希望