Поскольку онлайн-обучение плохо работает с Keras, когда вы используете адаптивный оптимизатор (расписание скорости обучения сбрасывается при вызове .fit()
), я хочу посмотреть, могу ли я просто установить его вручную. Однако для этого мне нужно выяснить, какова была скорость обучения в последнюю эпоху.
Тем не менее, как я могу напечатать скорость обучения для каждой эпохи? Я думаю, что могу сделать это с помощью обратного вызова, но кажется, что вам нужно пересчитывать его каждый раз, и я не уверен, как это сделать с Адамом.
Я нашел это в другом потоке, но он работает только с SGD:
class SGDLearningRateTracker(Callback):
def on_epoch_end(self, epoch, logs={}):
optimizer = self.model.optimizer
lr = K.eval(optimizer.lr * (1. / (1. + optimizer.decay * optimizer.iterations)))
print('\nLR: {:.6f}\n'.format(lr))