gpt4 book ai didi

keras - 如何在 Tensorboard 中可视化度量回调?

转载 作者:行者123 更新时间:2023-12-03 19:24:10 24 4
gpt4 key购买 nike

我在 keras 中有一个模型,我将自定义指标用作:

class MyMetrics(keras.callbacks.Callback):
def __init__(self):
initial_value = 0
def on_train_begin(self, logs={}):
...
def on_epoch_end(self, batch, logs={}):
here I calculate my important values


现在,有没有办法在 Tensorboard 中可视化它们?
例如,如果我的指标类似于:
def mymetric(y_true,y_pred):
return myImportantValues


我可以通过 Tensorboard 将它们可视化 mymodel.compile(..., metrics = mymetric)
有没有与度量回调类似的东西?
我尝试在 MyMetric 类中创建一个函数并将其传递给 mymodel.compile但它不会更新值。

最佳答案

您可以使用自定义指标创建事件文件,并直接在 tensorboard 中对其进行可视化。

这适用于 Tensorflow 2.0。在此示例中,准确性/指标是从训练历史记录中记录的。在您的情况下,您可以从 on_epoch_end 中执行此操作打回来。

import datetime
current_time = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
train_log_dir = 'logs/train/' + current_time
train_summary_writer = tf.summary.create_file_writer(train_log_dir)

history = model.fit(x=X, y=y, epochs=100, verbose=1)
for epoch in range(len(history.history['accuracy'])):
with train_summary_writer.as_default():
tf.summary.scalar('loss', history.history['loss'][epoch], step=epoch)
tf.summary.scalar('accuracy', history.history['accuracy'][epoch], step=epoch)

脚本执行后,

tensorboard --logdir logs/train



https://www.tensorflow.org/tensorboard/r2/get_started#using_tensorboard_with_other_methods

关于keras - 如何在 Tensorboard 中可视化度量回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58102016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com