一、Tensorboard简介
TensorBoard 是 TensorFlow 上一个非常酷的功能,我们都知道神经网络很多时候就像是个黑盒子,里面到底是什么样,是什么样的结构,是怎么训练的,可能很难搞清楚,而 TensorBoard 的作用就是可以把复杂的神经网络训练过程给可视化,可以更好地理解,调试并优化程序。
我们在建立神经网络模型解决问题时,例如想要用一个简单的 CNN 进行数字识别时,最想知道的就是什么样的模型,即 weights 和 bias 是多少的时候,可以使得 accuracy 达到较优,而这些变量都可以在 Tensorboard 中以一个可视化的方式看到。
二、主要函数
1、tf.namescope():
用于命名空间,可视化展示中的名字,具体使用参见:tensorflow学习笔记(二):name_scope, variable_scope。
2、tf.summary.FileWriter():
指定一个文件用来保存图。格式:
tf.summary.FileWritter(path,sess.graph) #路径中没有文件夹时会自己创建文件夹
用于保存文件,用于可视化,其中:
参数’logs/’:创建一个名为logs的文件夹,存放用于可视化的文件;
参数sess.graph:保存图文件,就是用于生成logs中的文件,是一个events.out.tfevents.前缀的文件,用于tensorboard的可视化显示。
使用改函数后,会在“logs”里生成一个文件,用于tensorboard的可视化显示。
3、tf.summary.scalar():
用来显示标量信息,其格式为:
tf.summary.scalar(tags, values, collections=None, name=None)
例如:tf.summary.scalar(‘mean’, mean)
一般在画loss,accuary时会用到这个函数。
4、tf.summary.histogram():
用来显示直方图信息,其格式为:
tf.summary.histogram(tags, values, collections=None, name=None)
例如: tf.summary.histogram(‘histogram’, var)
一般用来显示训练过程中变量的分布情况。
5、tf.summary.distribution():
分布图,一般用于显示weights分布。
6、tf.summary.text():
可以将文本类型的数据转换为tensor写入summary中:
例如:
text = """/a/b/c\\_d/f\\_g\\_h\\_2017""