使用PyTorch的ReduceLROnPlateau时如何获取当前学习率?
在PyTorch中使用ReduceLROnPlateau时获取当前学习率的方法
你当前采用的获取学习率的方式是严谨且正确的,甚至是最直接可靠的方案:
lr = optimizer.state_dict()["param_groups"][0]["lr"]
补充说明:
- ReduceLROnPlateau调整学习率的核心逻辑就是直接修改优化器
optimizer的param_groups中的lr值,因此无论是否使用该调度器,从优化器自身获取学习率都是最准确的方式。 - 你也可以更直接地访问优化器的参数组,无需通过
state_dict():lr = optimizer.param_groups[0]["lr"] - 如果你的模型使用了多个参数组(比如不同层设置不同学习率),需要根据需求遍历所有参数组,获取对应组的学习率:
lrs = [group["lr"] for group in optimizer.param_groups]
内容的提问来源于stack exchange,提问作者Anil
相关产品推荐
相关产品推荐

