簡體   English   中英

如何在使用 tf.summary.scalar() 生成的 Tensorboard 中繪制單個圖形中的數據,而不是 2 個?

[英]How do I plot data in a single figure instead of 2 in Tensorboard generated using tf.summary.scalar() on metrics procured from a custom callback?

我使用以下代碼在 Tensorboard 中根據從自定義 ROC-AUC 分數回調獲取的指標繪制 2 個標量圖。

for epoch in range(len(history.history['roc_train'])):
    with train_summary_writer.as_default():
        tf.summary.scalar('roc_auc_train', history.history['roc_train'][epoch], step=epoch)
        tf.summary.scalar('roc_auc_val', history.history['roc_val'][epoch], step=epoch)

Tensorboard 中的繪圖:

在此處輸入圖片說明

在此處輸入圖片說明

我如何將它們放在同一個圖形中? 請幫忙。

創建兩個不同的file_writer實例,並使用相同的名稱(在本例中為roc_auc )在所需繪圖的上下文中調用with語句。

import tensorflow as tf
import numpy as np
import os
import time

now = time.localtime()
subdir = time.strftime("%d-%b-%Y_%H.%M.%S", now)

summary_train = os.path.join("stackoverflow", subdir, "train")
summary_val = os.path.join("stackoverflow", subdir, "val")

writer_train = tf.summary.create_file_writer(summary_train)
writer_val = tf.summary.create_file_writer(summary_val)

for epoch in range(200):
    with writer_train.as_default():
        tf.summary.scalar(name="roc_auc", data=-np.math.exp(-(epoch/30))+1, step=epoch)
    with writer_val.as_default():
        tf.summary.scalar(name="roc_auc", data=-np.math.exp(-(epoch/15))+1, step=epoch)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM