【问题标题】:Getting a simple plot in Tensorboard在 Tensorboard 中获得一个简单的绘图
【发布时间】:2017-04-20 09:48:12
【问题描述】:

我正在尝试在 tensorboard 上绘制一个简单的绘图,就像他们在主页上一样,如下所示:

为了理解这是如何工作的,我写了以下内容:

    import tensorflow as tf
import numpy as np


x = tf.placeholder('float',name='X')
y=  tf.placeholder('float',name='y')
addition = tf.add(x,y)


with tf.Session() as sess:

    for i in range(100):
        var1=  np.random.rand()
        var2=  np.random.rand()
        print(var1,var2)
        tf.summary.scalar('addition',sess.run(addition, feed_dict={x:var1,y:var2}))               
        writer = tf.summary.FileWriter('Graphs',sess.graph)

虽然我可以看到图表,但我看不到任何标量值。任何人都可以向我解释我在这里做错了什么吗? PS:我已经运行了所有官方示例并且它们都在工作,但我需要理解这个示例才能使用它。 谢谢你的帮助 !

更新

运行@dv3 代码后程序崩溃。这就是我得到的:

InvalidArgumentError: You must feed a value for placeholder tensor 'input/x-input' with dtype float
     [[Node: input/x-input = Placeholder[dtype=DT_FLOAT, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

During handling of the above exception, another exception occurred:

InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-5-5cbd77e71936> in <module>()
     14         var2=  np.random.rand()
     15         print(var1,var2)
---> 16         add, s_ = sess.run([addition, summary_op], feed_dict={x:var1,y:var2})
     17         writer.add_summary(s_, i)

【问题讨论】:

  • 请分享整个会话的代码,你是怎么运行的?
  • 这是全部代码?
  • 哦,抱歉,结构让我很困惑 - 我会发布为什么你没有看到任何图表..

标签: python tensorflow tensorboard


【解决方案1】:

所以马上,我想建议阅读this。它更详细地说明了会话是什么。

至于代码以及它为什么不产生结果:你没有初始化变量。您可以使用:sess.run(tf.global_variables_initializer()) 执行此操作。所以你的代码是:

import tensorflow as tf
import numpy as np

x = tf.placeholder('float',name='X')
y=  tf.placeholder('float',name='y')
addition = tf.add(x,y)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    for i in range(100):
        var1=  np.random.rand()
        var2=  np.random.rand()
        print(var1,var2)
        tf.summary.scalar('addition',sess.run(addition, feed_dict={x:var1,y:var2}))               
        writer = tf.summary.FileWriter('Graphs',sess.graph)

我不会将 sess.run 嵌入到 summary.scalar 调用中,但是对于这个简单的示例,您会得到一些结果。

编辑: 经过测试,这确实有效:

import tensorflow as tf
import numpy as np

x = tf.placeholder('float',name='X')
y=  tf.placeholder('float',name='y')
addition = tf.add(x,y, name='add')
tf.summary.scalar('addition', addition)
summary_op = tf.summary.merge_all()     
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    writer = tf.summary.FileWriter('Graphs',sess.graph)
    for i in range(100):
        var1=  np.random.rand()
        var2=  np.random.rand()
        print(var1,var2)
        add, s_ = sess.run([addition, summary_op], feed_dict={x:var1,y:var2})
        writer.add_summary(s_, i)

输出:

【讨论】:

  • 我该如何回应?你在尝试什么不起作用?为什么你认为它不起作用?
  • 好吧,我已经输入了完全相同的代码(现在使用变量 ini),但仍然看不到标量?该图在那里,但标量为空。你测试了吗?
  • 我已经尝试过你,并且由于某种原因得到了问题中提到的错误。非常感谢您的帮助
  • 当您已有日志时可能会发生这种情况 - 删除它们
  • 非常感谢您的帮助
猜你喜欢
  • 2016-04-28
  • 2018-08-03
  • 1970-01-01
  • 1970-01-01
  • 2020-06-27
  • 2013-12-25
  • 2017-09-25
  • 1970-01-01
相关资源
最近更新 更多