TensorBoard 是 TensorFlow 官方推出的可视化工具,可将模型训练过程中的各种汇总数据(summaries)展示出来,包括:
- 标量(scalars)
- tf.summary.scala(tensor.op.name, tensor)
-
图像(images)
- 音频(audio),视频(video)
- 计算图(Graphs)
- 数据分布(Distributions)、直方图(Histograms)
- tf.summary.histogram(tensor.op.name, tensor)
- 嵌入向量(embeddings)
0. 可视化工具
- 神经网络模型结构的可视化:
- from keras.utils import plot_model
- plot_model(model, show_shape=True, to_file=‘model.png’)
- from keras.utils import plot_model
1. tensorflow 中的接口
- tf.summary.scalar(‘mean’/‘stddev’/‘max’/‘min’)
- tf.summary.scalar(‘dropout_keep_prob’, keep_prob)
2. 流程
TensorFlow学习笔记(7):TensorBoard——Tensor与Graph可视化
-
“标记”待可视化的变量
tf.summary.scalar('loss', loss) tf.summary.histogram('w1', w1) tf.summary.histogram('w2', w2)
-
定义 merge all 操作(参数为空,则表示对 default graph 中所有 summaries 进行 merge ):
merged = tf.summary.merge_all()
-
实例化 FileWriter,将待可视化的变量序列化到本地;
writer = tf.summary.FileWriter(logdir='xxx', sess.graph)
-
执行操作
for t in range(N) summary_str, ... = sess.run([merged, ...], feed_dict={x:..., y:...}) writer.add_summary(summary_str, t)
最后在命令行界面,切换到 logdir 指定的文件夹位置,使用如下的命令:
> tensorboard --logdir=xxx
仔细阅读命令行输出的日志信息,会给出相关的网址和端口信息:
(You can navigate to http://xx.xx.xx.xx:6006)