3.11 TensorBoard可视化初步

3.11.1 TensorBoard简介

图14即为TensorFlow的可视化工具TensorBoard,它通过TensorFlow程序运行过程中产生的日志文件可视化TensorFlow的程序运行状态,它与TensorFlow跑在两个不同的进程中。

3.11.2 在TensorBoard中查看图结构

上图代码中的Logdir指定的目录为运行后产生日志文件的目录,如图16所示我们可以打开文件管理器进行查看。

3.11.3 启动TensorBoard

TensorBoard不需要额外安装,在TensorFlow安装时已自动完成,在Anaconda Prompt中先进入日志存放的目录(注:非常重要),再运行TensorBoard,并将日志的地址指向程序日志输出的地址。

命令:tensorboard --logdir=/path/log (/path/log为产生日志文件的目录)

启动服务的端口默认为6006;使用 --port 参数可以改编启动服务的端口。

TensorBoard是一个在本地启动的服务,启动完成后在浏览器网址:http://localhost:6006即可进行访问。

3.11.4 TensorBoard常用API

API

描述

tf.summary.FileWrite()

创建FileWriter和事件文件,会在logdir中创建一个新的事件文件

tf.summary.FileWriter.add_summary()

将摘要添加到事件文件

tf.summary.FileWriter.add_event()

向事件文件添加一个事件

tf.summary.FileWriter.add_graph()

向事件文件添加一个图

tf.summary.FileWriter.get_logdir()

获取事件文件的路径

tf.summary.FileWriter.flush()

将所有事件都写入磁盘

tf.summary.FileWriter.close()

将事件写入磁盘,并关闭文件操作符

tf.summary.scalar()

输出包含单个标量值的摘要

tf.summary.histogram()

输出包含直方图的摘要

tf.summary.audio()

输出包含音频的摘要

tf.summary.image()

输出包含图片的摘要

tf.summary.merge()

合并摘要,包含所有输入摘要的值

表3-2 TensorBoard常用API

> 示例代码

1.py
import tensorflow as tf

#清除default graph和不断增加的节点
tf.reset_default_graph() 

# logdir改为自己机器上的合适路径
logdir='D:/log'

#定义一个简单的计算图,实现向量加法的操作
input1 = tf.constant([1.0, 2.0, 3.0], name="input1")
input2 = tf.Variable(tf.random_uniform([3]), name="input2")
output = tf.add_n([input1, input2], name="add")

#生成一个写日志的writer,并将当前的TensorFlow计算图写入日志。
writer = tf.summary.FileWriter(logdir,tf.get_default_graph())
writer.close()

Last updated