【问题标题】:No scalar data in tensorboard张量板中没有标量数据
【发布时间】:2017-07-25 16:22:26
【问题描述】:

我一直在阅读有关标量的 tensorboard 文档,但在 tensorboard 中呈现它时遇到了问题。

我在 windows 10 中安装了 tensorflow

我的代码如下所示:

import tensorflow as tf

a = tf.constant(7, name='test_variable')
tf.summary.scalar('variable', a)

with tf.Session() as sess:
    tf.summary.FileWriter('my_folder', graph=sess.graph)
    X = tf.global_variables_initializer()
    sess.run(X)

我看到my_folder中有一个文件

在命令提示符中:tensorboard --logdir=my_folder --port 6006

出来:

C:\Users\MM>tensorboard --logdir=my_folder --port 6006
Starting TensorBoard b'54' at http://DESKTOP-9S2D9VF:6006
(Press CTRL+C to quit)

当我打开浏览器时,我得到:

No scalar data was found. 
Probable causes: etc. etc.

【问题讨论】:

    标签: python tensorflow tensorboard


    【解决方案1】:

    您需要运行summary_op 并将结果传递给FileWriter。 例如:

    import tensorflow as tf
    
    a = tf.constant(7, name='test_variable')
    tf.summary.scalar('variable', a)
    summary_op = tf.summary.merge_all()
    
    with tf.Session() as sess:
        summary_writer = tf.summary.FileWriter('/tmp/summary', graph=sess.graph)
        X = tf.global_variables_initializer()
        sess.run(X)
        summary = sess.run(summary_op)
        summary_writer.add_summary(summary)
    

    来自官方documentation

    然后,您可以只运行合并的摘要操作,这将在给定步骤生成包含所有摘要数据的序列化摘要 protobuf 对象。最后,要将摘要数据写入磁盘,请将摘要 protobuf 传递给 tf.summary.FileWriter

    【讨论】:

    • 尼古拉斯,非常感谢您的回复和努力。我使用了您的解决方案,但是我从 tensorboard 得到了完全相同的响应。根本没有数据。请问是否有任何其他预先设置来获得正确的结果?就像我说的,我刚刚做了 pip install tensorflow 并开始尝试它。
    • 代码在我的机器上运行,我想不出我可以做任何预先设置。不好意思问了这么傻的问题,不过我确实把文件夹改成了'/tmp/summary',你跑tensorboard --logdir=/tmp/summary --port 6006了吗?
    • 好的。谢谢你。是的,我看到了您的更改,我已将其放回 my_folder。好的。我会做进一步调查,但感谢您的帮助。
    • 由于某种原因,您的代码在两个月后现在可以工作了:) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2018-01-28
    • 2022-07-29
    • 2018-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多