浅入浅出TensorFlow 5—可视化工具TensorBoard

上篇,Amusi带着大家学习了如何浅入浅出TensorFlow 4 — 训练CIFAR数据,今天继续给大家介绍linolzhang大佬的TensorFlow系列课程,带大家学习使用可视化工具TensorBoard

正文

一. 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,通常的做法是先将这些数据合并,然后再写入。

b)将Summary信息汇总

将上面函数输出的 protobuf 数据进行合并,提供两种接口(通常我们用第二个就可以了):

c)指定写入路径

关键类:tf.train.SummaryWriter,在该目录下,生成对应event文件

d)Training调用及单步写出

三. 可视化展示

TensorFLow 主要对网络和参数进行可视化,通过读取运行过程中生成的 Log文件 进行可视化,输入参数为 日志文件路径。

TensorBoard 读取日志文件,并生成本地服务(默认6006端口),通过访问本地 回环地址 127.0.0.1:6006 查看可视化结果,如下图所示:

四. 代码示例

下面通过实例代码进行 TensorBoard 的使用展示,里面 with tf.name_scope() 需要理解一下,主要是做层级划分(与c++的namespace类似),比如:

形成结点的层次关系描述(可以参考 Tensorflow中文手册v1.2):

• hidden/alpha

• hidden/weights

• hidden/biases

完整的 MNIST训练示例:

五. 劳动成果

好了按照上面的命令,输入:

根据提示的IP地址进行浏览(注:用Chrome浏览器,IE或者Safri因兼容问题可能会出现空白问题):

--------我是可爱的分割线--------

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421B0MOAX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券