TensorBoard 未显示标量摘要,但显示了图表

Posted

技术标签:

【中文标题】TensorBoard 未显示标量摘要,但显示了图表【英文标题】:TensorBoard not showing Scalar summaries but graph is shown 【发布时间】:2018-05-08 12:04:03 【问题描述】:

我正在尝试从我的 TensorFlow 会话中可视化生成的摘要数据。 我已通过 TensorBoard 检查功能确认确实存储了摘要:

tensorboard --logdir=C:\ML\tensorflow_logs --port 6006 --inspect

======================================================================
Processing event files... (this can take a few minutes)
======================================================================

Found event files in:
C:\ML\tensorflow_logs

These tags are in C:\ML\tensorflow_logs:
audio -
histograms -
images -
scalars
   LossValue
   accuracy_1
tensor -
======================================================================

Event statistics for C:\ML\tensorflow_logs:
audio -
graph
   first_step           0
   last_step            0
   max_step             0
   min_step             0
   num_steps            1
   outoforder_steps     []
histograms -
images -
scalars
   first_step           0
   last_step            100
   max_step             100
   min_step             0
   num_steps            101
   outoforder_steps     []
sessionlog:checkpoint -
sessionlog:start -
sessionlog:stop -
tensor -
======================================================================

但是,如果我启动 TensorBoard(不带 --inspect 参数)并在浏览器(本例中为 Chrome)中打开网站,我只能看到图形而不是标量。对于标量,它只是说:

未找到标量数据。

我在 Windows 上使用 Anaconda 和最新版本的 TensorFlow 和 TensorBoard (0.1.8)。

我正在使用的与摘要生成相关的代码如下所示:

with graph.as_default():
  .....
  .....
  tf.summary.scalar("LossValue", loss)
  tf.summary.scalar("Accuracy", accuracy_measure)

with tf.Session(graph=graph) as session:
  merged = tf.summary.merge_all()
  writer = tf.summary.FileWriter('C:/ML/tensorflow_logs', session.graph)    
  tf.global_variables_initializer().run()    

  for step in range(train_steps):
    offset = (step * batch_size) % (train_labels.shape[0] - batch_size)
    batch_data = train_dataset[offset:(offset + batch_size), :, :, :]
    batch_labels = train_labels[offset:(offset + batch_size), :]
    feed_dict = tf_train_dataset : batch_data, tf_train_labels : batch_labels, keep_prob : dropout_keep_prob
    _, l, predictions, summary = session.run([optimizer, loss, train_prediction, merged], feed_dict=feed_dict)    
    writer.add_summary(summary, step)

writer.close()

【问题讨论】:

发布您用来保存摘要的代码 我现在已经添加了摘要相关代码。 奇怪,它看起来是正确的。你确定writer.close()被执行了吗?我告诉你,因为通常情况下,问题是在出现“未找到标量数据”错误时忘记了该行 是的,writer.close() 确实被调用了,因为我之后还有其他调试代码被执行。同样从“--inspect”输出来看,标量确实被保存了。 【参考方案1】:

尝试运行pip install tensorflow-tensorboard

【讨论】:

这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review 我没有足够的业力来做到这一点,上次我检查了。

以上是关于TensorBoard 未显示标量摘要,但显示了图表的主要内容,如果未能解决你的问题,请参考以下文章

在 TensorBoard 中找不到任何标量摘要

Tensorboard 未显示最后训练模型的自定义指标

Tensorboard 标量绘图,横轴上带有纪元数

TensorBoard - 在同一张图上绘制训练和验证损失?

Tensorboard 图像摘要

如何编辑已保存的 Tensorboard 摘要?