如何在 TensorBoard 的一个张量中显示多个特征的分布

Posted

技术标签:

【中文标题】如何在 TensorBoard 的一个张量中显示多个特征的分布【英文标题】:How to show distributions of multiple features in one tensor in TensorBoard 【发布时间】:2018-02-16 13:33:50 【问题描述】:

我有一个张量 X,它是批量标准化层 (tf.layers.batch_normalization) 的输出,形状为 [batch_size, 15]。为了监控它的分布,我用tf.summary.histogram('out_BN_0', X)X 创建了一个直方图。该图是我在 > 70k 步(约 130 个 epoch)后在 Tensorboard 中得到的。它是所有 15 个特征的平均结果吗?或X 中的任何特定功能?如何获得仅一个特征的分布(例如第 5 个)?

【问题讨论】:

【参考方案1】:

如何为每个特征构建一个直方图?

import tensorflow as tf
import numpy as np

batch_size = 100
num_features = 15

X = tf.constant(np.random.uniform(size=(batch_size, num_features)))
hists = feature_index: tf.summary.histogram(f'hist_feature_index', X[:, feature_index]) 
              for feature_index in range(num_features)

【讨论】:

谢谢,MZHm。 tf.summary.histogram 中的字母“f”是否必要?

以上是关于如何在 TensorBoard 的一个张量中显示多个特征的分布的主要内容,如果未能解决你的问题,请参考以下文章

张量板未显示超出某个点的步骤

Tensorboard 记录非张量(numpy)信息(AUC)

张量板在浏览器上加载后不显示

如何将张量板图用于列表/数组?

张量板中的线图

为啥 resnet50 的 MaxPool2d 层在 tensorboard 中可视化时会输出 2 个张量?