(新手上路,如果有不对的地方,望指正。另外有没有小伙伴一起学习交流啊?)
 
tensorboard为tensorflow提供了可视化,它的重要性不言而喻。
 
tensorboard是通过读取events files来显示的,events file则包含在图计算时生成的summary data。

  1.  tf.summary.scalar('mean', mean)
    tf.summary.histogram('histogram', var)

1.summary data

某个summary操作原型:
    1. tf.summary.scalar(name, tensor, collections=None)
这些summary的操作都是对某个tensor产生单个的summary protocol buffer,是一种能被tensorboard读取的格式。Summaries provide a way to export condensed information about a model, which is then accessible in tools such as TensorBoard.
summary的操作对于整个图来说相当于是外设,因为tensorflow是由结果驱动的,而图的结果并不依赖于summary操作,所以summary操作需要被run。整个图经常需要检测许许多多的值,也就是许多值需要summary operation,一个个去run来启动太麻烦了,tensorflow为我们提供了这个函数:
    1. merged=tf.summary.merge_all(key=tf.GraphKeys.SUMMARIES)
      #Merges all summaries collected in the default graph.
把图中所有的summary数据合并在一起,一个run就能启动所有的summary operations。像这样:
    1. summary, acc = sess.run([merged, accuracy], feed_dict=feed_dict(False))
btw也有单独merge函数。
tensorboard是从磁盘中读events files的。tensorflow用一个tensorflow.summary.FileWriter将图 运行得到的summary 数据写到磁盘里。FileWriter的构造器包含一个logdir也就是summary data写到的位置,以及可选的图。
    1. train_writer = tf.summary.FileWriter(FLAGS.summaries_dir +'/train',
      sess.graph)
把每一次run的信息和得到的数据加到writer里面
    1.  train_writer.add_run_metadata(run_metadata, 'step%03d'% i)
      train_writer.add_summary(summary, i)
最后把writer关掉,大功告成。
    1.  train_writer.close()

2.tensorboard

上面的步骤成功之后,events file就躺在你磁盘上logdir位置上了。
在命令行键入
 
tensorboard --logdir=path/to/files
我的logdir是/tmp/mnist_logs/train,我的代码就是
 
在浏览器里打开,localhost:6006
 
就这样可以看到各个数据的变化情况。
遇到的bug:在火狐浏览器中event的一片黑,换成Google自家chrome浏览器就OK了
 
 

tensorboard及summary data的更多相关文章

  1. C4-ResNet-TF-小象cv-code

    https://blog.csdn.net/chaipp0607/article/details/75577305 https://blog.csdn.net/leastsq/article/deta ...

  2. TensorBoard:Visualizing Learning 学习笔记

    为了更方便的理解.调试和优化TF程序,我们可以使用TensorBoard(可视化工具).可以使用TensorBoard查看graph,绘制图表执行过程中的定量指标.TensorBoard是完全可配置的 ...

  3. TensorFlow框架(2)之TensorBoard详解

    为了更方便 TensorFlow 程序的理解.调试与优化,TensorFlow发布了一套叫做 TensorBoard 的可视化工具.你可以用 TensorBoard 来展现你的 TensorFlow ...

  4. 学习TensorFlow,TensorBoard可视化网络结构和参数

    在学习深度网络框架的过程中,我们发现一个问题,就是如何输出各层网络参数,用于更好地理解,调试和优化网络?针对这个问题,TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可 ...

  5. Tensorboard简介

    Tensorflow官方推出了可视化工具Tensorboard,可以帮助我们实现以上功能,它可以将模型训练过程中的各种数据汇总起来存在自定义的路径与日志文件中,然后在指定的web端可视化地展现这些信息 ...

  6. TensorFlow2.0(9):TensorBoard可视化

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  7. TensorBoard:可视化学习

    数据序列化 TensorBoard 通过读取 TensorFlow 的事件文件来运行.TensorFlow 的事件文件包括了你会在 TensorFlow 运行中涉及到的主要数据.下面是 TensorB ...

  8. Tensorflow实战 手写数字识别(Tensorboard可视化)

    一.前言 为了更好的理解Neural Network,本文使用Tensorflow实现一个最简单的神经网络,然后使用MNIST数据集进行测试.同时使用Tensorboard对训练过程进行可视化,算是打 ...

  9. Restructure output of R summary function

    Treat it as a data.frame: set.seed(1)x <- sample(30, 100, TRUE) summary(x)#    Min. 1st Qu.  Medi ...

随机推荐

  1. fscanf()函数详解【转】

    本文转载自:http://blog.csdn.net/liangxanhai/article/details/8026496 以前解析有规律的文件的时候要么用正则表达式,要么就是傻傻的自己写程序来解析 ...

  2. 【bug】uc浏览器qq浏览器广告过滤

  3. 并不对劲的bzoj3932: [CQOI2015]任务查询系统

    传送门-> 离线操作听上去很简单,遗憾的是它强制在线. 每个时刻可以看成可持久化线段树中的一个版本,而每一个版本的线段树维护的是值某一段区间且在这个版本对应的时刻出现的数之和. 会发现同一时刻可 ...

  4. [USACO 2017DEC] Greedy Gift Takers

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5139 [算法] 二分答案 时间复杂度 : O(NlogN^2) [代码] #incl ...

  5. 分布式缓存一致性hash算法

    当服务器不多,并且不考虑扩容的时候,可直接使用简单的路由算法,用服务器数除缓存数据KEY的hash值,余数作为服务器下标即可. 但是当业务发展,网站缓存服务需要扩容时就会出现问题,比如3台缓存服务器要 ...

  6. mybatis 基础详解

    转 https://www.cnblogs.com/Mr-Kenson/p/8124680.html mybatis 是一个开源的 用于对数据库操作的框架, 读者基本都大体了解其基本功能, 我就不多解 ...

  7. bzoj 2016: [Usaco2010]Chocolate Eating【二分+贪心】

    二分答案,贪心判断,洛谷上要开long long #include<iostream> #include<cstdio> using namespace std; const ...

  8. bzoj2131: 免费的馅饼(树状数组)

    Description Input 第一行是用空格隔开的二个正整数,分别给出了舞台的宽度W(1到10^8之间)和馅饼的个数n(1到10^5). 接下来n行,每一行给出了一块馅饼的信息.由三个正整数组成 ...

  9. springboot(十一)SpringBoot任务

    github地址: https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service 1 ...

  10. JSR-303原生支持的限制

    @Null: 限制只能为null@NotNull: 限制必须不为null@AssertFalse: 限制必须为false@AssertTrue: 限制必须为true@DecimalMax(value) ...