PyTorch:学习率调度器
PyTorch: Learning rate scheduler
如何将学习率调度程序与以下优化器一起使用?
optimizer = torch.optim.Adam(optim_params,betas=(args.momentum, args.beta), weight_decay=args.weight_decay)
我编写了以下调度程序:
scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=100, gamma=0.9)
我不确定是否应该逐步执行调度程序或优化程序。我应该按照哪个顺序执行以下操作?
optimizer.zero_grad()
scheduler.step()
optimizer.step()
由于 1.3
行为已更改,请参阅 releases and this issue especially。
在此版本之前,您应该在 optimizer
之前 step
调度程序,这在我看来是不合理的。有一些来回(实际上它破坏了向后兼容性,在我看来,为了这样一个小小的不便而破坏它不是一个好主意),但目前你应该在 optimizer
.[=17= 之后执行 scheduler
]
optimizer.zero_grad()
optimizer.step()
scheduler.step()
如何将学习率调度程序与以下优化器一起使用?
optimizer = torch.optim.Adam(optim_params,betas=(args.momentum, args.beta), weight_decay=args.weight_decay)
我编写了以下调度程序:
scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=100, gamma=0.9)
我不确定是否应该逐步执行调度程序或优化程序。我应该按照哪个顺序执行以下操作?
optimizer.zero_grad()
scheduler.step()
optimizer.step()
由于 1.3
行为已更改,请参阅 releases and this issue especially。
在此版本之前,您应该在 optimizer
之前 step
调度程序,这在我看来是不合理的。有一些来回(实际上它破坏了向后兼容性,在我看来,为了这样一个小小的不便而破坏它不是一个好主意),但目前你应该在 optimizer
.[=17= 之后执行 scheduler
]
optimizer.zero_grad()
optimizer.step()
scheduler.step()