tensorflow中summary操作

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

tf.summary中summary是tf中的一个py文件,位置在 '/tensorflow/python/summary/' 文件夹下,提供了像tf.summary.scalartf.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)

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值