我正在学习通过张量板来可视化张量,但是,我不知道如何在直方图选项卡中解释图表。我使用下面的代码来可视化:
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轴的值。根据这的报道,
这是一个归一化的密度。我不会把它描述为概率密度,尽管我认为把它称为概率密度是合理的。
谁能解释得更多(例如,密度是如何计算的)?
发布于 2017-04-28 04:23:09
这里的情节大致显示了它应该显示的内容。1, 2, 3, 4值的峰值。最大的峰值是值4,最小的是3。你看到了这样一个奇怪的结果,因为你选择了看到输出的分布,这很难想象为一个分布(就像在三维程序中看圆圈一样)。
绘制实际分布,这样就更容易理解了。下面是一个示例:
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和std=3的正态分布。

现在,从0到9开始的10个叠加直方图来自您的循环。它们都是一样的,因为值a没有发生任何变化。在实际工作中,你会看到每次训练后你的张量的直方图。
关于您的图像,我假设它们可以平滑输出,这就是您看到这样的结果的原因。
https://stackoverflow.com/questions/43671461
复制相似问题