TensorBoard的几种可视化类型
1、Scalars(Events):展示训练过程中的统计数据(最值,均值等)变化情况
2、Images:展示训练过程中记录的图像
3、Audio:展示训练过程中记录的音频
4、Graphs:构件图,效果图类似流程图一样,我们可以看到数据的流向,使用tf.name_scope()收集构建。
5、Distributions:
6、Histograms:展示训练过程中记录的数据的分布图
7、Embeddings:
8、Text:
下面根据我的需要挑选几个介绍这几种类型。
一、Scalars(Events)
1、 使用代码:
import tensorflow as tf
#Scalars代码
def test():
sess = tf.Session()
x = tf.placeholder(tf.float32, name='a_plc')
b = tf.Variable([1.0], tf.float32)
w = tf.Variable([1.0, 2.0], tf.float32)
y = w*x + b
#1.记录的变量
tf.summary.scalar('x', x)
#2. 合并
merged = tf.summary.merge_all()
sess.run(tf.global_variables_initializer())
train_summary = tf.summary.FileWriter("C:\\tmp\\tensorflow\\mnist\\logs\\test", sess.graph)
for i in range(100):
#3.将所有的summary合并到一起
[summary, yy] = sess.run([merged, y], feed_dict={x: i})
#4.将每一次run的信息写入到train_summary中
train_summary.add_summary(summary, i)
pass
#5.关闭train_summary
train_summary.close()
pass
test()
2、运行结果:
首先,运行上面这段代码;
然后,在命令行中输入:tensorBoard –logdir=C:\tmp\tensorflow\mnist\logs\test。后面是log路径。
最后在chrome浏览器(可换其他浏览器试试)中输入:http://0.0.0.0:6006/。结果如下图所示:
二、Graphs
1、使用代码:
修改上面代码即可。
def test():
sess = tf.Session()
x = tf.placeholder(tf.float32, name='a_g')
b = tf.Variable([1.0], tf.float32, name='b_g')
w = tf.Variable([1.0, 2.0], tf.float32, name='w_g')
y = w*x + b
sess.run(tf.global_variables_initializer())
train_summary = tf.summary.FileWriter("C:\\tmp\\tensorflow\\mnist\\logs\\test", sess.graph)
for i in range(100):
sess.run(y, feed_dict={x: i})
pass
train_summary.close()
pass
test()
2、运行结果
当然还有名称域(Name scoping)和节点(Node)。后面需要时将使用。
三、Histograms
1、使用代码
def test():
sess = tf.Session()
x = tf.placeholder(tf.float32, name='a_g')
b = tf.Variable([1.0], tf.float32, name='b_g')
w = tf.Variable([1.0, 2.0], tf.float32, name='w_g')
tf.summary.histogram('x', x)
tf.summary.histogram('b', b)
tf.summary.histogram('w', w)
y = w*x + b
tf.summary.scalar('x', x)
merged = tf.summary.merge_all()
sess.run(tf.global_variables_initializer())
train_summary = tf.summary.FileWriter("C:\\tmp\\tensorflow\\mnist\\logs\\test", sess.graph)
for i in range(100):
sess.run(y, feed_dict={x: i})
[summary, yy] = sess.run([merged, y], feed_dict={x: i})
train_summary.add_summary(summary, i)
pass
train_summary.close()
pass
test()
2、运行结果
注:其他的几个可视化模块,在后面用到的时候及时更新。