TensorBoard简介

TensorBoard是TensorFlow自带的一个强大的可视化工具,也是一个Web应用程序套件。TensorBoard目前支持7种可视化,Scalars,Images,Audio,Graphs,Distributions,Histograms和Embeddings。其中可视化的主要功能如下。

(1)Scalars:展示训练过程中的准确率、损失值、权重/偏置的变化情况。

(2)Images:展示训练过程中记录的图像。

(3)Audio:展示训练过程中记录的音频。

(4)Graphs:展示模型的数据流图,以及训练在各个设备上消耗的内存和时间。

(5)Distributions:展示训练过程中记录的数据的分部图。

(6)Histograms:展示训练过程中记录的数据的柱状图。

(7)Embeddings:展示词向量后的投影分部。

TensorBoard通过运行一个本地服务器,来监听6006端口。在浏览器发出请求时,分析训练时记录的数据,绘制训练过程中的图像。TensorBoard的可视化界面如下图所示

tensorflow学习笔记----TensorBoard讲解-LMLPHP

如图相册的菜单所示,可以依次绘制出主要功能的界面图像,下面分别介绍这些菜单页面具体功能,这里采用的是mnist_with_summaries的例子

Scalars面板

scalars面板的左侧是一些选项,包括Ignore outlines in chart scaling(不按照整表的范文显示)、data downloadlinks(数据下载链接),smoothing(图像的曲线平滑程度)以及Horizontal Axis

(水平轴)的表示,其中水平轴的表示分为3种(STEP代表迭代次数,RELATIVE代表按照训练集和测试集的相对值,WALL代表按照时间)如下图所测所示,右侧给出了准确率

和交叉熵损失函数值的变化曲线(迭代次数是1000次)。

tensorflow学习笔记----TensorBoard讲解-LMLPHP

Scalars面板中还绘制了每一层的偏置(biases)和权重(weights)的变化曲线,包括每次迭代的最大值、最小值、平均值和标准差等,如下图所示

tensorflow学习笔记----TensorBoard讲解-LMLPHP

IMAGES面板

下图展示了训练数据及和测试数据集进过预处理后图片的样子

tensorflow学习笔记----TensorBoard讲解-LMLPHP

AUDIO面板

AUDIO面板是展示训练过程中处理的音频数据。mnist_with_summaries中不含有音频例子,这里不做展示。

GRAPHS面板

GRAPHS面板是对理解神经网络结构最优帮助的一个面板,他直观的展示了数据流图。下图界面中结点之间的连线即为数据流,连线

越粗,说明两个结点之间流动的张量(tensor)越多。

tensorflow学习笔记----TensorBoard讲解-LMLPHP

在graph面板的左侧,可以选择迭代步骤。可以用不同的颜色来表示不同的Structrue(整个数据流图的结构),或者用不同的Color来表示不同的Device(设备)。例如

使用多个GPU时,各个节点分别使用的GPU不同。

当选择特定的某次迭代(如第899次)时,可以显示出各个节点的Compute time(计算时间)以及Memory(内存消耗),如下图所示

tensorflow学习笔记----TensorBoard讲解-LMLPHP

DISTRIBUTIONS面板

distributions面板和histograms面板类似,只不过是用平面来表示来自特定层的激活前后、权重和偏置的分布。下图展示的是激活之前和激活之后

数据分布。

tensorflow学习笔记----TensorBoard讲解-LMLPHP

HISTOGRAMS面板

histograms面板立体的展来自特顶层的激活前后、权重和偏置的分布。下图展示的是激活之前和激活之后的分布数据。

tensorflow学习笔记----TensorBoard讲解-LMLPHP

EMBEDDINGS面板

EMBEDDINGS面板在minst例子中无法展示。在以后的可视化例子中会有展示,这里先不做介绍。

以上就是tensorboard主要面板的介绍,下一次进行可视化例子的介绍。

05-08 07:50