【问题标题】:How to create a Tensorflow Tensorboard Empty Graph如何创建 Tensorflow Tensorboard 空图
【发布时间】:2016-02-13 06:48:41
【问题描述】:

使用tensorboard --logdir=/home/vagrant/notebook启动张量板

在 tensorboard:6006 > 图表中,它说没有找到图表定义文件。

要存储图表,请创建一个 tf.python.training.summary_io.SummaryWriter 并通过构造函数或调用其 add_graph() 方法传递图表。

import tensorflow as tf

sess = tf.Session()
writer = tf.python.training.summary_io.SummaryWriter("/home/vagrant/notebook", sess.graph_def)

但是页面还是空的,如何开始玩tensorboard?

当前张量板

想要的结果

可以添加节点的空图,可编辑。

更新

似乎 tensorboard 无法创建图形来添加节点、拖动和编辑等(我对官方视频感到困惑)。

运行https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py 然后tensorboard --logdir=/home/vagrant/notebook/data 能够查看图表

然而 tensorflow 似乎只提供查看摘要的功能,并没有什么不同使其脱颖而出

【问题讨论】:

  • 空是什么意思?不是启动了吗?空白(白/灰页)?你看不到图形吗?图表不是您所期望的?
  • 公关视频确实具有误导性。我也是这么想的。

标签: python tensorflow tensorboard


【解决方案1】:

TensorBoard 是一个用于visualizing the TensorFlow graph 的工具,用于分析训练和推理期间记录的指标。该图是使用 Python API 创建的,然后使用 tf.train.SummaryWriter.add_graph() 方法写出。当您将 SummaryWriter 写入的文件加载到 TensorBoard 中时,您可以看到已保存的图形,并进行交互探索。

但是,TensorBoard 并不是构建图形本身的工具。它不支持向图中添加节点。

【讨论】:

    【解决方案2】:

    从下面的Code Example开始,我可以加一行如下图:

    import tensorflow as tf
    import numpy as np
    sess = tf.InteractiveSession()  #define a session
    # Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
    x_data = np.random.rand(100).astype("float32")
    y_data = x_data * 0.1 + 0.3
    
    # Try to find values for W and b that compute y_data = W * x_data + b
    # (We know that W should be 0.1 and b 0.3, but Tensorflow will
    # figure that out for us.)
    W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
    b = tf.Variable(tf.zeros([1]))
    y = W * x_data + b
    
    # Minimize the mean squared errors.
    loss = tf.reduce_mean(tf.square(y - y_data))
    optimizer = tf.train.GradientDescentOptimizer(0.5)
    train = optimizer.minimize(loss)
    
    # Before starting, initialize the variables.  We will 'run' this first.
    init = tf.initialize_all_variables()
    
    # Launch the graph.
    sess = tf.Session()
    sess.run(init)
    
    #### ----> ADD THIS LINE <---- ####
    writer = tf.train.SummaryWriter("/tmp/test", sess.graph)
    
    # Fit the line.
    for step in xrange(201):
        sess.run(train)
        if step % 20 == 0:
            print(step, sess.run(W), sess.run(b))
    
    # Learns best fit is W: [0.1], b: [0.3]
    

    然后从命令行运行 tensorboard,指向相应的目录。这显示了对 SummaryWriter 的完整调用。重要的是要注意以下几点:

    1. SummaryWriter 传递一个 Session,因此必须在创建 Session(或 InteractiveSession)之后发生
    2. 该 Session 可以在程序的早期创建,但是当 Session 被传递给 SummaryWriter 时,图 当时存在 被写入到 TensorBoard 将使用的文件中。

    【讨论】:

    • tf.train.SummaryWriter 已变形为 tf.summary.FileWriter。如果您进行更改,则此示例有效。
    【解决方案3】:

    在这个页面中,有一个非常简单的代码可以用来测试你的安装:http://tensorflow.org/get_started

    我加入了这一行

    tf.train.write_graph(sess.graph_def, '/home/daniel/Documents/Projetos/Prorum/ProgramasEmPython/TestingTensorFlow/fileGraph', 'graph.pbtxt')
    

    在这个“sess.run(init)”之后

    这将生成一个您必须上传到“TensorBoard”的文件。

    为了打开TensorBoard,假设它已经安装在你的电脑上(如果你用pip安装的话肯定是),我用Ubuntu的终端写了:

    "张量板 --logdir nameOfDirectory"

    然后,您应该在端口 6006 中打开浏览器:

    http://localhost:6006/
    

    这将打开 TensorBoard。我去了“图表菜单”并上传了文件。它生成了下图:

    所以,我所做的就是将我在 Python 中创建的模型转移到 TensorBoard。我相信如果没有创建模型(仅启动会话),可以创建一个空的。但是,我不确定您是否可以直接在 TensorBoard 中进行更改。

    在此问题之前,我已经用葡萄牙语回答了此问题,并为巴西用户提供了更多详细信息。也许对其他人有用:http://prorum.com/index.php/1843/recentemente-plataforma-aprendizagem-primeira-impressao

    【讨论】:

    • 这似乎不起作用。修改后的程序运行,输出文件已创建,但 Tensorboard 给出的错误与原始海报报告的相同
    • 它对我有用!我花了几个小时才发现这一点!我使用的是 ubuntu 14.04,我在 Chromium 上试过了!
    • 我听到你的发现过程。我使用了 Ubuntu 15.1、Chrome 和 Chromium,以及升级后的 Tensorflow 0.6。如果/当我让它工作时(可能几天),我会发表评论或发布单独的答案。
    • 我发现一些与 tensorBoard 相关的进程是断断续续的(有时工作,有时不工作),但我不记得它究竟发生了什么情况。在您的情况下,可能正在发生类似的事情!在这些情况下,我尝试多次重复以使其按预期发生!
    【解决方案4】:

    我在 windows 上解决了:

           file_writer = tf.summary.FileWriter("output", sess.graph)
    

    对于那个目录“输出”。我在 Windows 上打开了命令。

    输入

    tensorboard --logdir="C:\Users\kiran\machine Learning\output"
    

    我的错误就在那条线上..

    【讨论】:

      【解决方案5】:

      如果您使用的是 Firefox,则不会显示 TensorBoard 中的图表。您必须安装 Chrome。

      【讨论】:

        【解决方案6】:

        想要的结果

        可以添加节点的空图,可编辑。

        我想您会发现Orange 工具很有用。它允许您通过 GUI 拖放各种节点并实现算法。

        【讨论】:

          【解决方案7】:

          我不得不使用

          python -m tensorflow.tensorboard --logdir="C:\tmp\tensorflow\.."
          

          不知何故tensorboard --logdir 不起作用。

          我的环境

          操作系统:Windows 7、Python 3.5 和 Tensorflow 1.1.0

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-05-12
            • 1970-01-01
            • 2018-08-07
            • 2019-08-20
            • 2019-11-19
            • 2018-04-10
            • 2019-12-22
            • 2017-06-06
            相关资源
            最近更新 更多