2016-12-28 6 views
1

Для цели отладки я хотел бы отслеживать в моем обратном вызове func значение скорости обучения, чтобы убедиться, что мой mx.lr_scheduler.MultiFactorScheduler выполняет задание должным образом.mxnet: есть ли способ отслеживать в обратном направлении значение скорости обучения?

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

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

ответ

1

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

+0

Ну, я написал свой собственный планировщик для хранения учебных курсов с течением времени. Моя надежда была моделью для возврата текущего значения в param, чтобы он мог отслеживаться в функции обратного вызова. Спасибо за ваш ответ Кевин! – HALMTL

+0

Кажется, трудно получить прямой доступ к параметру lr. Но если вы используете интерфейс оптимизатора, вы можете переопределить метод обновления и log lr. Если у вас есть собственный lr_scheduler, вы можете создать с ним оптимизатор. http://mxnet.io/api/python/model.html?highlight=optimizer#optimizer-api-reference Надеюсь, что это сработает для вас :) – kevinthesun

+0

Большое спасибо за ваши советы и время Кевина. Я буду копаться в этом! – HALMTL

Смежные вопросы