Tensorflow 04: tensorboard的使用

前言

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值