我一直无法在tensorboard中绘制我的学习率,因为我使用的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)
之后,我运行此程序将自定义指标绘制到tensorboard日志:
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的情况下,我如何绘制我的学习率?Thx
建议的方法是覆盖TensorBoard
回调。
你可以在这里看到你是如何做到这一点的:Keras:如何将学习率输出到tensorboard上。
您只需要使用tensorflow.keras
而不是普通keras
的导入来调整代码。