我正在使用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