首页 > 解决方案 > Pytorch 调度程序:如何减少 LR 时期

问题描述

我正在 pytorch 中训练一个网络并ReduceLROnPlateau用作调度程序。我verbose=True在参数中设置,我的调度程序打印如下内容:

Epoch 159:将学习率降低到 6.0000e-04。

Epoch 169:将学习率降低到 3.0000e-04。

Epoch 178:将学习率降低到 1.5000e-04。

Epoch 187:将学习率降低到 7.5000e-05。

我想以某种方式获取时期,以便获得一个列表,其中包含调度程序降低学习率的所有时期。就像是:lr_decrease_epochs = ['159', '169', '178', '187']

哪种方法最简单?

标签: pytorchscheduler

解决方案


我认为调度程序不会跟踪这一点(至少我在源代码中没有看到类似的东西),但您可以在训练循环中跟踪这一点。

每当学习率发生变化 ( scheduler.get_lr()) 时,您只需记录当前 epoch。


推荐阅读