Вы можете попробовать этот код.Это адаптировано из исходного кода Keras.Я не проверял это сам.
class AdamLearningRateTracker(Callback):
def on_epoch_end(self, logs={}):
beta_1 = self.beta_1,
beta_2 = self.beta_2
optimizer = self.model.optimizer
if optimizer.decay > 0:
lr = K.eval(optimizer.lr * (1. / (1. + optimizer.decay * optimizer.iterations)))
t = K.cast(optimizer.iterations, K.floatx()) + 1
lr_t = lr * (K.sqrt(1. - K.pow(beta_2, t)) /(1. - K.pow(beta_1, t)))
print('lr: {:.6f}\n'.format(lr_t))