【问题标题】:PyTorch: Learning rate schedulerPyTorch:学习率调度器
【发布时间】:2020-03-19 20:53:45
【问题描述】:

如何将学习率调度器与以下优化器一起使用?

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()

【问题讨论】:

    标签: python machine-learning pytorch learning-rate


    【解决方案1】:

    由于1.3 的行为发生了变化,请参阅releasesthis issue especially

    在这个版本之前,你应该在optimizer之前step调度程序,这在IMO是不合理的。有一些来回(实际上它破坏了向后兼容性,并且 IMO 为这样一个小不便而破坏它不是一个好主意),但目前你应该在 optimizer 之后执行 scheduler

    optimizer.zero_grad()
    optimizer.step()
    scheduler.step()
    

    【讨论】:

      猜你喜欢
      • 2020-11-16
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 2022-12-23
      • 2021-12-03
      • 2021-09-27
      • 2019-09-03
      • 1970-01-01
      相关资源
      最近更新 更多