Tensorflow(1) Tensorboard的用法

来源:互联网 发布:死亡之屋4软件下载 编辑:程序博客网 时间:2024/05/21 01:43

Tensorboard是辅助我们调试model的好助手,下面记录一下使用心得。

(我觉得我的英语水平翻译API documents是智障啊。。)

使用流程:

import tensorflow as tftensors_need_to_show = some tensors # 这里是一些你想要放到tensorboard上面的tensortensor.summary.scalar/image/histogram/audio(tensors_need_to_show) # 这是tensor不同的显示方式merged = tf.summary.merge_all() # 将所有的summary汇总到一起,这个merged也是一个tensorwith tf.Session() as sess:    summary_writer = tf.summary.FileWriter('your logs path', sess.graph) # FileWriter,用于写入log文件    summary = sess.run([merged], feed_dict={}) # sess.run()用于计算tensor    summary_writer.add_summary(summary[0], global_step) 

tf.summary.scalar

scalar(name, tensor, collections=None)

输出一个Summary pb格式的数据,里面包括一个单一的标量值

Args:
name:已生成的tensor node的名字,这个名字会在TensorBoard里面显示为当前tensor的名字。
tensor: 一个真实的数值tensor,包含单一值。
collections: Optional list of graph collections keys. The new summary op is added to these collections. Defaults to [GraphKeys.SUMMARIES].

Returns:
A scalar Tensor of type string. Which contains a Summary protobuf.

Raises:
ValueError: If tensor has the wrong shape or type.

附录:

Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。它们用于 RPC 系统和持续数据存储系统。
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。