Тенсорборд график ReduceLROnPlateau

Мне постоянно не удается отобразить скорость обучения на тензорной доске, потому что я использую ReduceLROnPlateau следующим образом:

tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=results_path, histogram_freq=1)

reduce_lr = ReduceLROnPlateau(monitor='loss', factor=0.5, verbose=1,
                              patience=100, min_lr=0.000001)
callbacks = [tensorboard_callback, reduce_lr]
# Compile VAE
vae.compile(optimizer='adam', loss=kl_reconstruction_loss,  metrics=["mse", metric_KL,binary_crossentropy])

# Train autoencoder
history = vae.fit(x_train, x_train, 
                  epochs = no_epochs, 
                  batch_size = batch_size, 
                  validation_data=(x_test,x_test,),
                  callbacks=callbacks)

После этого я запускаю это, чтобы отобразить пользовательские метрики в журнале тензорной платы:

for epoch in range(len(history.history['mse'])):
    with train_summary_writer.as_default():
        tf.summary.scalar('metric_KL', history.history['metric_KL'][epoch], step=epoch)

С этой настройкой. Как я могу составить график своей скорости обучения, не написав свой собственный ReduceLROnPlateau? Спасибо

1 ответ

Рекомендуемый способ - перезаписать TensorBoard перезвонить.

Здесь вы можете увидеть, как это сделать: Keras: как вывести скорость обучения на тензорную доску.

Вам просто нужно адаптировать код с импортом для tensorflow.keras вместо простого keras.

Другие вопросы по тегам