tensorbaord可视化原理分析2

本节主要总结TensorBoard可视化工具

tensorboard作用:

TensorBoard可以将训练过程中的各种绘制数据展示出来,包括标量(scalars),图片(images),
音频(Audio),计算图(graph),数据分布,直方图(histograms)和嵌入式向量。

为什么可以实现?

使用TensorBoard展示数据,首先需执行Tensorflow计算图,写入日志文件,同时输出一个writer类。
summary_op包括了summary.scalar、summary.histogram、summary.image等操作,这些操作输出的是各种
summary protobuf
将各种类型的输出数据汇总并记录到日志文件中,通过summary.writer写入到event文件中

使用TensorBoard读取这些日志文件,解析数据并生产数据可视化的Web页面,让我们可以在浏览器中观察各种汇总数据。


Tensorflow API中包含系列生成summary数据的API接口,这些函数将汇总信息存放在protobuf中,以字符串形式表达。

======1

1.对标量数据汇总和记录使用tf.summary.scalar,函数格式如下:
tf.summary.scalar(tags, values, collections=None, name=None
一般在画loss,accuary时会用到这个函数。
2.使用tf.summary.histogram直接记录变量var的直方图,输出带直方图的汇总的protobuf,函数格式如下:
tf.summary.histogram(tag, values, collections=None, name=None
3.输出带图像的probuf,汇总数据的图像的的形式如下: ' tag /image/0', ' tag /image/1', etc.,如:input/image/0等
tf.summary.image(tag, tensor, max_images=3, collections=None, name=None

=====2

4.将上面几种类型的汇总再进行一次合并,具体合并哪些由inputs指定,格式如下:
tf.summary.merge(inputs, collections=None, name=None)
5.或者通过合并默认图形中的所有汇总,更简洁些,通常用这种方法:tf.summaries.merge_all() 返回一个merge,需要sess.run(merge)得到真实值
=====3
6.tf.summary.FileWriter返回一个SummaryWriter类,同时将计算图写入events文件
7.将汇总的protobuf写入到event文件中去的相关的类: SummaryWriter是一个类,它可以调用以下成员函数
来往event文件中添加相关的数据 add_summary(merge,global_step),
add_
sessionlog(), add_event(),or add_graph()
  
这里注意,计算图形的信息通过add_graph写入到event文件中,为了restore加载graph,省的自己重写graph,
但是一般saver模型里面已经保存了graph,所以在写人events时候这个函数并没什么用,实际上2者关系不大。
restore照样可以加载graph。 真正有用,是在最开始得到tf.summary.FileWriter返回一个SummaryWriter时候,
那里指定了输入参数graph,则可以在tensorboard里面看到graph, 否则只会写入events里,tensorboard看不到graph。

功能强大的代码建议看:

mnist数据集在tensorboard显示(附完整代码)

入门级代码看:

tensorboard可视化,详细案例

更详细函数分析请看:

tensorbaord可视化原理分析



参考

https://blog.csdn.net/smf0504/article/details/56369758


猜你喜欢

转载自blog.csdn.net/fu6543210/article/details/80245231