如何改变 PyTorch 中的学习率 (1.6)

How to change the learning rate in PyTorch (1.6)

我正在使用 PyTorch,我想在一些时期后更改学习率。

但是,大多数文档中提供的代码是:

  optimizer = torch.optim.Adam([
        dict(params=model.parameters(), lr=learning_rate),
    ])
   #This line specifically
   optimizer.params_group[0]['lr'] = learning_rate

无效。

实际上PyCharm暗示它:

Unresolved attribute reference 'params_group' for class 'Adam'

因此,抛出的错误是:

AttributeError: 'Adam' object has no attribute 'params_group'

如何在 PyTorch (1.6) 中手动更改学习率?

在上面的评论中,@Alizera Omidi 提供了答案。

params_group 有错字,实际上是param_groups

Param_groups 不是 pytorch 设计的可行解决方案,因此您应该实施 pytorch.optim.lr_scheduler。在其他 Whosebug 答案 .

中阅读更多相关信息
import torch.optim.lr_scheduler.StepLR #step learning rate
scheduler = StepLR(optimizer, step_size=5, gamma=0.1)