如何创建 Tensorflow Tensorboard 空图

Posted

技术标签:

【中文标题】如何创建 Tensorflow Tensorboard 空图【英文标题】:How to create a Tensorflow Tensorboard Empty Graph 【发布时间】: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 似乎只提供查看摘要的功能,并没有什么不同使其脱颖而出

【问题讨论】:

空是什么意思?不是启动了吗?空白(白/灰页)?你看不到图形吗?图表不是您所期望的? 公关视频确实具有误导性。我也是这么想的。 【参考方案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 的完整调用。重要的是要注意以下几点:

    SummaryWriter 传递一个 Session,因此必须在创建 Session(或 InteractiveSession)之后发生 该 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

【讨论】:

以上是关于如何创建 Tensorflow Tensorboard 空图的主要内容,如果未能解决你的问题,请参考以下文章

张量板中的线图

如何使用 Tensorflow 创建预测标签和真实标签的混淆矩阵?

如何使用 Tensorflow 创建预测标签和真实标签的混淆矩阵?

如何创建可轻松转换为 TensorFlow Lite 的模型?

如何创建 Tensorflow Tensorboard 空图

Tensorflow,Keras:如何创建仅在特定位置更新的可训练变量?