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的可视化界面如下图所示
如图相册的菜单所示,可以依次绘制出主要功能的界面图像,下面分别介绍这些菜单页面具体功能,这里采用的是mnist_with_summaries的例子
Scalars面板
scalars面板的左侧是一些选项,包括Ignore outlines in chart scaling(不按照整表的范文显示)、data downloadlinks(数据下载链接),smoothing(图像的曲线平滑程度)以及Horizontal Axis
(水平轴)的表示,其中水平轴的表示分为3种(STEP代表迭代次数,RELATIVE代表按照训练集和测试集的相对值,WALL代表按照时间)如下图所测所示,右侧给出了准确率
和交叉熵损失函数值的变化曲线(迭代次数是1000次)。
Scalars面板中还绘制了每一层的偏置(biases)和权重(weights)的变化曲线,包括每次迭代的最大值、最小值、平均值和标准差等,如下图所示
IMAGES面板
下图展示了训练数据及和测试数据集进过预处理后图片的样子
AUDIO面板
AUDIO面板是展示训练过程中处理的音频数据。mnist_with_summaries中不含有音频例子,这里不做展示。
GRAPHS面板
GRAPHS面板是对理解神经网络结构最优帮助的一个面板,他直观的展示了数据流图。下图界面中结点之间的连线即为数据流,连线
越粗,说明两个结点之间流动的张量(tensor)越多。
在graph面板的左侧,可以选择迭代步骤。可以用不同的颜色来表示不同的Structrue(整个数据流图的结构),或者用不同的Color来表示不同的Device(设备)。例如
使用多个GPU时,各个节点分别使用的GPU不同。
当选择特定的某次迭代(如第899次)时,可以显示出各个节点的Compute time(计算时间)以及Memory(内存消耗),如下图所示
DISTRIBUTIONS面板
distributions面板和histograms面板类似,只不过是用平面来表示来自特定层的激活前后、权重和偏置的分布。下图展示的是激活之前和激活之后
数据分布。
HISTOGRAMS面板
histograms面板立体的展来自特顶层的激活前后、权重和偏置的分布。下图展示的是激活之前和激活之后的分布数据。
EMBEDDINGS面板
EMBEDDINGS面板在minst例子中无法展示。在以后的可视化例子中会有展示,这里先不做介绍。
以上就是tensorboard主要面板的介绍,下一次进行可视化例子的介绍。