tf中 tensorboard 工具通过读取在网络训练过程中保存到本地的日志文件实现数据可视化,日志数据保存主要用到 tf.summary 中的方法。

tf.summary中summary是tf中的一个py文件,位置在 '/tensorflow/python/summary/' 文件夹下,提供了像tf.summary.scalar、tf.summary.histogram等方法,用来把graph图中的相关信息,如结构图、学习率、准确率、Loss等数据转换成 protocol buffer 数据格式,然后再调用tf.summary.FileWriter方法把这些数据写入到本地硬盘,之后就可以借用 tensorboard 工具可视化这些数据。

标量数据汇总和记录

标量,单个数值保存用 tf.summary.scalar,一般用来保存loss,accuary,学习率等数据,比较常用。tf.summary.scalar(name, tensor, collections=None, family=None)name:  给保存的数据的命名;

tensor: 要保存的tensor,在scalar函数中应该是一个标量,如当前的学习率、Loss等;

collections: 定义保存的数据归于哪个集合,默认的集合是 '[GraphKeys.SUMMARIES]';

family:可选参数,如果定义,在Tensorboard显示的时候,将作为前缀加在变量名前;

变量var的直方图汇总和记录

tf.summary.histogram 输出带直方图的汇总的protobuf 数据。tf.summary.histogram(tag, values, collections=None, name=None)

变量var的图像汇总和记录

tf.summary.image(name, tensor, max_outputs=3, collections=None, family=None)

合并汇总

使用 tf.summary.merge(inputs, collections=None, name=None) 对指定的汇总进行合并。

使用 tf.summaries.merge_all(key=_ops.GraphKeys.SUMMARIES) 对所有的汇总进行合并。

启动所有的汇总操作

merged = tf.summaries.merge_all(key=_ops.GraphKeys.SUMMARIES)

summary, acc = sess.run([merged, accuracy], feed_dict=feed_dict(False))数据写入本地磁盘

数据写入本地使用 tf.summary.FileWriter 类中的方法。summary_writer = tf.summary.FileWriter(args.log_dir, sess.graph)

构造函数:__init__(self,

logdir,

graph=None,

max_queue=10,

flush_secs=120,

graph_def=None,

filename_suffix=None)logdir:事件文件保存目录

graph: graph(图)对象,例如 sess.graph

max_queue: 队列中事件和概要的最大数量,默认为10;

flush_secs: 事件和概要保存到本地磁盘的间隔,默认120S;

graph_def: 旧版本的graph,已弃用;

filename_suffix: 可选参数,事件文件的后缀。

事件和汇总加入summary_writer

summary_writer.add_run_metadata(run_metadata, 'step%03d'% i)

summary_writer.add_summary(summary, i)

python summary writer_tensorflow中summary操作相关推荐

  1. Python os模块 -Python系统编程中的操作模块

    Python os模块 -Python系统编程中的操作模块 用途:处理(文件与目录)操作 以下为简单的常用操作 import os 导入os模块 help(os) 查看os模块帮助文档 os.name ...

  2. python多线程加速for循环_多线程-如何在Python的循环中对操作进行多线程

    首先,在Python中,如果您的代码受CPU约束,那么多线程将无济于事,因为只有一个线程可以持有全局解释器锁,因此一次只能运行Python代码. 因此,您需要使用进程,而不是线程. 如果您的操作&qu ...

  3. python滚动条_python中selenium操作下拉滚动条的几种方法汇总

    UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等:但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 比如下面这样一个网页 ...

  4. Python在mysql中进行操作是十分容易和简洁的

    首先声明一下,我用的是Windows系统! 1.在Python中对mysql数据库进行操作首先要导入pymysql模块,默认情况下,Python中是没有安装这个模块的,  可以在Windows的命令行 ...

  5. tensorflow中summary操作

    tf中 tensorboard 工具通过读取在网络训练过程中保存到本地的日志文件实现数据可视化,日志数据保存主要用到 tf.summary 中的方法. tf.summary中summary是tf中的一 ...

  6. python 表格格式输出_利用python对excel中一列的时间数据更改格式操作

    问题场景:需要将下列的交期一列的数据格式更改成2019/05/10 存货编码 尺寸 数量 交期 0 K10Y0190000X B140 200 2019-05-10 00:00:00 1 K10Y01 ...

  7. python采集修改原创_python应用系列教程——python中ftp操作:连接、登录、获取目录,重定向、上传下载,删除更改...

    python中ftp操作: ftp=FTP() #设置变量 ftp.set_debuglevel(2) #打开调试级别2,显示详细信息 ftp.connect("IP"," ...

  8. python文件式_python中文件操作的六种模式及对文件某一行进行修改的方法

    一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...

  9. python显示目录中的文件_Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

最新文章

  1. php session函数
  2. react 逆地理 高德地图_在react中使用原生的高德地图
  3. Qt 断言的使用 Q_ASSERT
  4. 昨天,A站受黑客攻击千万条用户数据外泄,量子加密能救得了吗?
  5. oracle基础与应用
  6. ktor框架用到了netty吗_Netty系列相关面试题汇总
  7. php ora-12154,ORA-12154 和 TNS-03505 监听错误的解决方法
  8. Asp.net MVC3.0 入门指南 6 审视编辑方法和视图
  9. linux 中文 文件名乱码,中文文件名乱码问题
  10. 粤语翻译软件开发_粤语翻译器 带发音-粤语翻译器 带发音免费软件app安卓v2.3下载-SLY软件园...
  11. 交互设计理论之格式塔理论与四大法则
  12. java vcf_Java VCF 格式解析
  13. oracle改密码sql语句,Oracle 修改数据库密码
  14. 三星原生android手机,非原生系统??三星Android Go手机曝光
  15. 云服务器及其存储性能测试方法
  16. 主线程和子线程下的事务不回滚【spring】
  17. 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
  18. 计算智能课程设计报告
  19. spring-data-redis 使用pipeline批量设置过期时间的bug
  20. FPGA之FIFO详解,初识FIFO

热门文章

  1. MySQL启动、连接,退出,关闭命令学习
  2. Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解
  3. React 性能优化之批量处理 unstable_batchedUpdates
  4. 命令行安装Pillow
  5. C++重载下标运算符
  6. dicom虚拟打印服务器,DICOM打印服务器软件
  7. matlab设置工作路径
  8. java合并sheet行_java poi Excel循环合并行
  9. 乒乓球十一分制比赛规则_乒乓球竞赛规则 赛制和比赛规则
  10. 访问修饰符作用范围由大到小是_9个java基础小知识