概述
前言
Tensorboard 通过读取event files来进行可视化。event files 中包含 summary data. 如可以对激活值的分布,梯度,权重参数等进行可视化。
Summary data的一个通用的产生过程如下:
(1)在tensorflow graph中,确定哪些nodes是需要用summary operations添加注释的。tensorflow中,summary 提供了一些操作,能够产生对应类型的summary protobuf.
(2)为了产生summaries,我们需要运行sess.run()所有的这些summary nodes。单独管理这些不同类型的summary ops可能比较麻烦,可以使用 tf.summary.merge_all 函数将这些ops整合成一个summary。
(3)最后,为了将这些数据写入磁盘,可以将summary protobuf传给tf.summary.FileWriter。
案例1
下面代码演示了标量型summary的使用:
# coding=utf-8
"""summary的一个测试程序"""
import tensorflow as tf
sess = tf.InteractiveSession()
scalar_var = tf.Variable(0.0, name='scalar_var')
# 标量类型的summary
scalar_ops = tf.summary.scalar(name='scalar_var_summary', tensor=scalar_var)
scalar_writer = tf.summary.FileWriter('Log', sess.graph)
init = tf.global_variables_initializer()
sess.run(init)
for idx in range(50):
sess.run(tf.assign(scalar_var, idx))
print sess.run(scalar_var)
# 运行summary操作
scalar_res = sess.run(scalar_ops)
# 将summary的结果写入磁盘
scalar_writer.add_summary(scalar_res, idx)
运行结果如下:
0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0
11.0
12.0
13.0
14.0
15.0
16.0
17.0
18.0
19.0
20.0
21.0
22.0
23.0
24.0
25.0
26.0
27.0
28.0
29.0
30.0
31.0
32.0
33.0
34.0
35.0
36.0
37.0
38.0
39.0
40.0
41.0
42.0
43.0
44.0
45.0
46.0
47.0
48.0
49.0
Process finished with exit code 0
启动tensorboard
在命令行中输入如下命令:
Tensorboard –logdir=path/to/log-directory
当上述命令运行后,在浏览器地址栏中输入localhost:6006即可看到tensorboard可视化出来的结果:
用到的tensorflow api
(1) tf.summary.scalar(name, tensor, collections=None)
参数:
name: 该操作节点的名字.在名字在Tensorboard可视化中可以看到.
tensor: 需要被可视化的tensor
collections:默认值是 [GraphKeys.SUMMARIES].
返回值:
一个类型为string的标量tensor.它包含了summary protobuf.
(2) tf.summary.FileWriter
将 summary protocol buffers写入到event files的一个类.
该类提供了一系列方法,能够在指定的目录中创建event file,并将summaries protobuf写入到event file中.该类是异步更新event file的内容,所以不会影响到训练.
该类的初始化函数如下:
init(logdir, graph=None, max_queue=10, flush_secs=120, graph_def=None)
(3) scalar_writer.add_summary( summary, global_step=None)
将summary protocol buffer写入到event file中.
参数:
summary: 一个summary protocol buffer
global_step: Number. Optional global step value to record with the summary
最后
以上就是勤劳飞机为你收集整理的Tensorflow 04: tensorboard的使用的全部内容,希望文章能够帮你解决Tensorflow 04: tensorboard的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复