mxnet: есть ли способ отслеживать при обратном вызове значение скорости обучения?

В целях отладки я хотел бы отслеживать в моей функции обратного вызова fit значение скорости обучения, чтобы убедиться, что мой mx.lr_scheduler.MultiFactorScheduler выполняет работу, как ожидалось.

К сожалению, скорость обучения недоступна в параметрах. Есть ли способ получить доступ к фактически используемому LR для текущей партии?

Большое спасибо !


person HALMTL    schedule 28.12.2016    source источник


Ответы (1)


Одним из возможных решений может быть создание подкласса текущего оптимизатора, который вы используете. Затем переопределите метод обновления, чтобы регистрировать текущую скорость обучения для каждого обновления.

person kevinthesun    schedule 29.12.2016
comment
Ну, я написал свой собственный планировщик для хранения скорости обучения с течением времени. Я надеялся, что модель вернет текущее значение параметра, чтобы его можно было отслеживать в функции обратного вызова. Спасибо за ответ, Кевин! - person HALMTL; 30.12.2016
comment
Кажется сложным получить прямой доступ к lr в параметре. Но если вы используете интерфейс оптимизатора, вы можете переопределить метод обновления и вывести журнал lr. Если у вас есть собственный lr_scheduler, вы можете создать с его помощью оптимизатор. mxnet.io/api/python/ Надеюсь, это сработает для вас :) - person kevinthesun; 03.01.2017
comment
Большое спасибо за ваши советы и время, Кевин. Я буду копаться в этом! - person HALMTL; 04.01.2017