【问题标题】:Tensorflow summary scalars not showing up in tensorboardTensorflow摘要标量未显示在张量板上
【发布时间】:2018-06-29 06:01:20
【问题描述】:

我之前在几个项目中使用过 tensorboard,效果很好。当我现在运行这些项目时,它仍然有效。但是,在一个新项目中,我保存的摘要标量不会显示出来。该图在那里并且看起来正确,但“未找到标量数据”对话框位于标量选项卡下。我尝试编写我能想到的最简单的代码作为测试,但它仍然无法正常工作:

import tensorflow as tf

tf.reset_default_graph()

g = tf.Graph()

with g.as_default():

    y = tf.Variable(1)
    initialize = tf.global_variables_initializer()
    tf.summary.scalar('thing',y)

sess = tf.InteractiveSession(graph=g)
sess.run(initialize)

merged = tf.summary.merge_all()

writer = tf.summary.FileWriter("path",g)

for i in range(10):
    summary = sess.run(merged)
    writer.add_summary(summary,i)

sess.close()

我认为这应该只给我一个超过 10 步的恒定 y 值,但在 tensorboard 中没有标量。我是不是做错了什么?

【问题讨论】:

  • 当您调用 merged = tf.summary.merge_all() 时,您将在 当前 默认图表中创建操作,而不是在空的 g 中创建操作。所以merged 应该是无操作的。
  • 感谢思源的评论。合并后的空操作会如何?
  • 您可以print summary 变量来查看它是否为空。

标签: tensorflow tensorboard


【解决方案1】:

尝试将图形定义更改为:

with g.as_default():
  y = tf.Variable(1)
  tf.summary.scalar('thing', y)
  initialize = tf.global_variables_initializer()

即,首先定义摘要操作,然后定义初始化操作。这样它就会出现在张量板上:

也有可能是摘要没有刷新,在这种情况下writer.flush() 会有所帮助。

【讨论】:

  • 据我所知,这不会让事情出现在张量板上。
猜你喜欢
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 2020-04-07
  • 2023-03-21
  • 2020-12-10
  • 2016-02-19
  • 2022-06-16
  • 2018-03-25
相关资源
最近更新 更多