一. TensorBoard 介绍
TensorFlow 可视化可以借助 Python 的 matplotlib 进行,也可以使用 TensorFlow 自带的 TensorBoard,推荐大家使用 TensorBoard 进行可视化,这样可以不依赖于TensorFLow 的 Python 接口。
可视化内容包括:
Event:训练过程中的统计数据,主要包括 Loss、Accuracy等
Image:记录的图像数据
Graphs:网络结构图
Audio:记录的音频数据
Histogram:直方图描述的统计结果
二. 生成过程
理解 TensorBoard 使用最关键的一点就是 Summary,Summary对应流程也就是我们的使用流程:
a)调用 TensorFlow API中的summary接口
上面 summay 得到的输出为包含对应数据的 ProtoBuf,通常的做法是先将这些数据合并,然后再写入。tf.scalar_summary(tags, values, collections=None, name=None) # 标量数据 tf.histogram_summary(tag, values, collections=None, name=None) # 直方图数据 tf.image_summary(tag, tensor, max_images=3, collections=None, name=None) # 图像数据
b)将Summary信息汇总
将上面函数输出的 protobuf 数据进行合并,提供两种接口(通常我们用第二个就可以了):
c)指定写入路径merged_summary_op = tf.merge_summary(inputs, collections=None, name=None) merged_summary_op = tf.merge_all_summaries(key='summaries')
关键类:tf.train.SummaryWriter,在该目录下,生成对应event文件
train_writer = tf.train.SummaryWriter(summary