tensorboard是TensorFlow的一个可视化工具,能够监控TensorFlow运行过程中的计算图,各种指标随着时间的变化趋势以及训练中使用到的图像等信息。
先贴个总结:首先,必须在终端启动tensorboard;其次,如果在tensorboard中发现没找到graph,那么一般是路径没匹配好,修改一下路径即可。
按照例程,写一个可视化graph的代码:
import tensorflow as tf
with tf.name_scope('input1'):
input1 = tf.constant([1.0,2.0,3.0],name="input1")
with tf.name_scope('input2'):
input2 = tf.Variable(tf.random_uniform([3]),name="input2")
output = tf.add_n([input1,input2],name="add")
writer = tf.summary.FileWriter("/path/to/log",tf.get_default_graph())
writer.close()
第一个问题:怎么启动tensorboard呢?一开始我在Python下启动一直出错,通过查找资料,才发现要在终端启动。
打开cmd,输入tensorboard --logdir =/path/to/log-directory,如下图:
会得到一个网址,如下图:
接着,在浏览器输入该网址,可进入tensorboard界面:
可以发现,找不到graph,通过查找资料,发现是路径的原因。我们必须给logdir一个明确的路径定义。
所以我在
writer = tf.summary.FileWriter("/path/to/log",tf.get_default_graph())
中将路径改为'D://logs'(路径可以自己指定,但在启动时logdir必须能明确定位到该路径):
writer = tf.summary.FileWriter("D://dogs",tf.get_default_graph())
启动tensorboard:
刷新原来的tensorboard界面,可以看到graph已经显示出来了:
另外,在tensorflow1.0版本中,我一开始写保存graph的代码是:
writer = tf.train.SummaryWriter("D://logs",tf.get_default_graph())
出现问题:AttributeError: module 'tensorflow.python.training.training' has no attribute 'SummaryWriter'(0.12版本不会出现该问题)
这是因为在1.0版本中,tf.train.SummaryWriter已经改为tf.summary.FileWriter;因此,代码必须改为:
writer = tf.summary.FileWriter(""D://logs",tf.get_default_graph())
以上,便是本人在学习TensorFlow的可视化工具tensorboard的过程中遇到的问题以及解决方法。