#pytorch #scheduler
Вопрос:
Я тренирую сеть в pytorch и использую ReduceLROnPlateau
ее в качестве планировщика. Я задаю параметры verbose=True
, и мой планировщик печатает что-то вроде:
Эпоха 159: снижение скорости обучения до 6.0000 e-04.
Эпоха 169: снижение скорости обучения до 3,0000 e-04.
Эпоха 178: снижение скорости обучения до 1.5000 e-04.
Эпоха 187: снижение скорости обучения до 7.5000 e-05.
Я хотел бы каким-то образом получить эпохи, чтобы получить список со всеми эпохами, в которых планировщик снизил скорость обучения. Что-то вроде: lr_decrease_epochs = ['159', '169', '178', '187']
Какой самый простой способ сделать это ?
Ответ №1:
Я думаю, что планировщик не отслеживает это (по крайней мере, я не видел ничего подобного в исходном коде), но вы можете просто отслеживать это в своем цикле обучения.
Всякий раз, когда скорость обучения меняется ( scheduler.get_lr()
), вы просто записываете текущую эпоху.