我是靠谱客的博主 勤劳飞机,最近开发中收集的这篇文章主要介绍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

最后

以上就是勤劳飞机为你收集整理的Tensorflow 04: tensorboard的使用的全部内容,希望文章能够帮你解决Tensorflow 04: tensorboard的使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部