tensorflow(5) Tensorboard可视化

标签(空格分隔): tensorflow


1.serializing the data

tensorboard的工作原理是通过读入tensorflow event file,这个文件里面存的是summary Data。
summary data 是从graph里面收集而来的,找到你想收集summary data的节点,在这个节点上添加tf.summary.scalar op,然后给scalar_summary加上一个tag。

比如你想直到mnist训练过程中学习率和目标函数的变化情况,就可以给learning rate 和loss function的输出节点各加上一个tf.summary.scalar的operation,然后给他们打上learning rate 和loss function的tag。

如果想看激励的分布,或者梯度、权重的分布,添加tf.summary.histogram

tensorflow中的op,如果你不运行它的话,它就在那里静止不动。所以我们创建的summary op,要先把他们结合成一个总的op,然后run。

  • tf.summary.merge_all: 结合所有的summary nodes
  • run: 会在给定的step生成所有summary Data的object protobuf,如果要写入,用tf.summary.FileWriter

可以每步都写入,也可以n步写入一次
tensorflowboard API

tf.scalar_summary(tags, values, collections=None, name=None)

tf.image_summary(tag, tensor, max_images=3, collections=None, name=None)

 tf.audio_summary(tag, tensor, sample_rate, max_outputs=3, collections=None, name=None)

tf.histogram_summary(tag, values, collections=None, name=None)

上述这组API分别对标量,图片,音频以及柱状图进行汇总统计,以Protocol Buffer结构进行表示。

代码怎么用还没看
加了summary的mnist

2.启动tensorboard

如果是源码安装的,按照如下方式启动

python path/to/tensorboard.py --logdir=path/to/log/dir

我的tensorboard安装在
/home/lgy/anaconda2/envs/pycharm_tf/lib/python2.7/site-packages/tensorflow/tensorboard
我创建一个软链接

sudo ln -s /home/lgy/anaconda2/envs/pycharm_tf/lib/python2.7/site-packages/tensorflow/tensorboard/tensorboard.py /usr/local/bin/tensorboard

以后就可以直接用

tensorboard --logdir=path/to/log-directory

一旦 TensorBoard 开始运行,你可以通过在浏览器中输入 localhost:6006 来查看 TensorBoard。
若果由pip安装到了系统目录,按照如下方式启动

3. tensorboard graph visualize

默认显示第一层namescope,里面包含了很多节点,要不然成千上万个节点,没法显示。

graph中有两种连接,一种是数据依赖 ,用实线连接,一种是控制依赖,用虚线连接

有些节点和其他节点有很多连接,比如初始化。如果都画上线,就会显得很乱。为了减少连线,使图像更加直观,可以用辅助节点来表示。
还有一个简化试图的方法是折叠,适用于结构相同,但是命名末尾数字不相同的节点。

Color有两种,Structure是结构视图,相同结构有相同的颜色,灰色节点的结构是唯一的
Device是设备视图,紫色代表GPU,绿色代表CPU

一些图标的意义如下图:

4. tensorboard histogram

主要是讲怎么是用tf.summary.histogram
比如说正太分布,如下图
the histogram at timestep 176 has a bin centered at 2.25 with 177 elements in that bin.
直方图的bin是指数分布的,这样就能应对很大的数了,并且重新采样数据使它变成均匀分布的bins

参考

tensorflow/README.md at r1.2 · tensorflow/tensorflow
Module: tf.summary | TensorFlow
TensorBoard: Visualizing Learning | TensorFlow
TensorBoard: Graph Visualization | TensorFlow
TensorBoard实践介绍(2017年TensorFlow开发大会) - YouTube

猜你喜欢

转载自blog.csdn.net/u013608336/article/details/78293256