Tensorboard v1.0 - 直方图选项卡解释

Tensorboard v1.0 - Histogram tab interpretation

我正在学习通过张量板可视化张量,但是,我不知道如何解释直方图选项卡中的图表。我使用以下代码进行可视化:

sess = tf.Session()
tf.summary.histogram('test', tf.constant([1, 1, 2, 2, 3, 4, 4, 4, 4]))
summary = tf.summary.merge_all()

train_writer = tf.summary.FileWriter('../tmp/train', sess.graph)
for i in range(10):
    sum = sess.run(summary)
    train_writer.add_summary(sum, i)

我从张量板上得到这张图表:

直方图模式:偏移

直方图模式:叠加

我知道x轴是值,y轴是时间步长,不知道是z轴的值。根据 this 问题,

It's a normalized density. I wouldn't describe it as a probability density, although I think calling it one would be justifiable.

谁能解释更多(即密度是如何计算的)?

这里的情节大致显示了它应该显示的内容。在值 1, 2, 3, 4 处出现峰值。最大的尖峰值是 4,最小的是 3。你会看到如此奇怪的结果,因为你选择查看输出的分布,这很难可视化为一个分布(就像看起来不会令人印象深刻的方式一样)在 3-d 程序中的圆圈处)。

画出实际的分布图,会更容易理解。这是一个例子:

import tensorflow as tf
import numpy as np

v = np.random.normal(loc=5,  scale=3.0, size=100000)
a = tf.constant(v)
s = tf.summary.histogram('normal', a)

merged = tf.summary.merge_all()
with tf.Session() as sess:
    writer = tf.summary.FileWriter('logs', sess.graph)
    for i in xrange(10):
        summary = sess.run(merged)
        writer.add_summary(summary, i)

    writer.close()

在这里您可以看到均值为 5 且标准差为 3 的正态分布。

现在,从 0 到 9 的 10 个堆叠直方图来自您的循环。它们都是一样的,因为值 a 没有发生任何事情。在实际工作中,您会看到每次训练后张量的直方图。

关于你的图像,我假设它们使输出平滑,这就是你看到这样结果的原因。