summaries 生成
class
tf.summary.FileWriter
tf.summary.FileWriterCache
summary Ops
tf.summary.tensor_summary
tf.summary.scalar
tf.summary.histogram
tf.summary.audio
tf.summary.image
tf.summary.merge
tf.summary.merge_all
Utilities
tf.summary.get_summary_description
Class FileWriter
常见方法
__init__
创建一个FileWriter 和一个事件文件
init(
logdir,
graph=None,
max_queue=10,
flush_secs=120,
graph_def=None,
filename_suffix=None
)
add_graph
添加一个Graph 到事件文件中
add_graph(
graph,
global_step=None,
graph_def=None
)
add_summary
添加一个Summary 的buffer到时间文件中
add_summary(
summary,
global_step=None
)
close
将事件文件写入到硬盘 并关闭文件
flush
将缓冲区的内容写到磁盘
Ops
tf.summary.scalar
标量
tf.summary.scalar(
name, #生成节点的名字
tensor,#数值张量
collections=None, #集合的keys
family=None
)
Return:
A scalar Tensor of type string. Which contains a Summary protobuf.
tf.summary.image
添加图片
tf.summary.image(
name,
tensor, #[batch_size, height, width, channels]
max_outputs=3,
collections=None,
family=None
)
tf.summary.merge_all
合并
tf.summary.merge_all(
key=tf.GraphKeys.SUMMARIES,
scope=None
)
可视化步骤
- 建立summary,合并所有summary操作
- 创建summary writer
- 运行summary_ops,得到summary_str
- 将summary_str 添加到buffer区
- 将buffer区内容写入文件
示例
import tensorflow as tf
import numpy as np
import pandas as pd
#建立summary,合并所有summary操作,summary_vars 也可用tf.placeholder
x = tf.Variable(0.)
y = tf.Variable(0.)
z = tf.Variable(0.)
#定义几个summary操作
tf.summary.scalar("x", x)
tf.summary.scalar("y", y)
tf.summary.scalar("z", z)
summary_vars =[x, y, z]
#合并所有summary操作
summary_ops = tf.summary.merge_all()
global_step =0
with tf.Session() as sess:
#initial global variables
sess.run(tf.global_variables_initializer())
#create file writer
writer = tf.summary.FileWriter("./log", sess.graph)
##1000 step
while global_step < 1000:
#运行summary_ops
summary_str = sess.run(summary_ops, feed_dict={
summary_vars[0] : global_step ,
summary_vars[1] : global_step * global_step +1,
summary_vars[2] : np.log(global_step + 8)
})
#将summary_str 添加到缓冲区
writer.add_summary(summary_str, global_step)
#写入文件
writer.flush()
global_step +=1
##close file writer
writer.close()
运行效果
在命令行输入
tensorboard --logdir =./log
然后在浏览器中输入
http://desktop-8k0unat:6006/