如何改变 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)
我正在使用 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)