首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorboard v1.0 -直方图选项卡解释

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

Stack Overflow用户
提问于 2017-04-28 03:26:16
回答 1查看 1K关注 0票数 1

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

代码语言:javascript
复制
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轴的值。根据的报道,

这是一个归一化的密度。我不会把它描述为概率密度,尽管我认为把它称为概率密度是合理的。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-28 04:23:09

这里的情节大致显示了它应该显示的内容。1, 2, 3, 4值的峰值。最大的峰值是值4,最小的是3。你看到了这样一个奇怪的结果,因为你选择了看到输出的分布,这很难想象为一个分布(就像在三维程序中看圆圈一样)。

绘制实际分布,这样就更容易理解了。下面是一个示例:

代码语言:javascript
复制
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没有发生任何变化。在实际工作中,你会看到每次训练后你的张量的直方图。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43671461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档