tensorboard是tensorflow自带的可视化工具
输入命令可以启动tensorboard服务。
tensorboard --logdir=your log dir
通过浏览器localhost:6006进入可视化界面,可以看到能够进行可视化的选项,包括
- SCALARS:显示训练过程中的损失值、准确率、权重偏置变化
- IMAGES:显示训练的图像
- AUDIO:显示训练的音频
- GRAPHS:可视化模型
- DISTRIBUTIONS:记录数据的分布
- HISTOGRAMS:数据的直方图
- EMBEDDINGS:词向量的投影
想用tensorboard展示哪些量,只需要在变量后添加tf.summary底下相应的函数即可,举个栗子
def loss(logits,label_batches):
cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits,labels=label_batches)
cost = tf.reduce_mean(cross_entropy)
tf.summary.scalar("loss",cost)
return cost
在scalars中展示损失值,只需要添加第4行所示代码即可。其余功能可以去官网查看。
最后,在想要可视化的地方进行汇总,一行代码就可以汇总截止到该代码之前的所有summary,添加代码:
summary_op = tf.summary.merge_all()
然后,使用如下代码,将summary保存下来,最终在目录下生成events.out....的文件。
train_writer = tf.summary.FileWriter(log_dir,sess.graph)
再session中执行的时候,使用下面两行代码运行汇总操作,第2行中的step是汇总的步数,你也可以规定多少个step后进行一次汇总。
summary = sess.run(summary_op)
train_writer.add_summary(summary,step)
实际展示的结果如下
SCALARS