在TensorFlow中,最常用的可视化方法有三种途径,分别为TensorFlow与OpenCv的混合编程、利用Matpltlib进行可视化、利用TensorFlow自带的可视化工具TensorBoard进行可视化。这三种方法中,TensorFlow中最重要的可视化方法是通过tensorBoard、tf.summary和tf.summary.FileWriter这三个模块相互合作来完成的。
1、TensorBoard简介
TensorBoard是TensorFlow官方推出的可视化工具,它可以将模型训练过程中的各种汇总数据展示出来,包括标量(Scalar)、图片(Images)、音频(Audio)、计算图(Graphs)、数据分布(Distributions)、直方图(Histograms)和嵌入向量(Embeddings)。在训练大型深度学习神经网络时,中间计算过程非常复杂,为了理解调试和优化我们设计的网络,我们可以使用TensorBoard观察训练过程中各种可视化数据。如果要使用TensorBoard展示数据,我们需要在执行TensorFlow计算图的过程中,将各种类型的数据汇总并记录到日志文件中。然后使用TensorBoard读取这些日志文件,解析数据并生成可视化的Web界面,让我们可以在浏览器中观察各种汇总的数据。
2、Summary方法详解:
(1)tf.summary.scalar():用来显示标量信息,其格式为:
tf.summary.scalar(name, tensor, collections=None)
例如:tf.summary.scalar('mean', mean)
一般在画loss,accuary时会用到这个函数。
(2)tf.summary.histogram():用来显示直方图信息,其格式为:
tf.summary.histogram(tags, values, collections=None, name=None)
例如: tf.summary.histogram('histogram', var)
一般用来显示训练过程中变量的分布情况
(3)tf.summary.distribution():分布图,一般用于显示weights分布
(4)tf.summary.text ():可以将文本类型的数据转换为tensor写入summary中:
例如:
text = """/a/b/c\\_d/f\\_g\\_h\\_2017"""
summary_op0 = tf.summary.text('text', tf.convert_to_tensor(text))
(5)tf.summary.image():输出带图像的probuf
汇总数据的图像的的形式如下: ’ tag /image/0’, ’ tag /image/1’…,如:input/image/0等。
格式:tf.summary.image(name, tensor, max_outputs=3, collections=None)