Тенсорборд график 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
.