如何改变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暗示了这一点:

类"Adam"的未解析属性引用"params_group">

因此,抛出的错误为:

属性错误:"Adam"对象没有属性"params_group"

应该如何手动更改PyTorch(1.6(中的学习率?

Param_groups不是pytorch设计的可行解决方案,因此您应该实现pytorch.optim.lr_scheduler。在这里的其他stackoverflow回答中阅读更多关于这一点的信息。

import torch.optim.lr_scheduler.StepLR #step learning rate
scheduler = StepLR(optimizer, step_size=5, gamma=0.1)

在上面的评论中,@Alizera Omidi给出了答案。

params_group中有一个打字错误,实际上是param_groups

相关内容

  • 没有找到相关文章

最新更新