tensorboard实现训练的可视化

  tensorboard是tensorflow自带的可视化工具

  输入命令可以启动tensorboard服务。

tensorboard --logdir=your log dir

  通过浏览器localhost:6006进入可视化界面,可以看到能够进行可视化的选项,包括

  • SCALARS:显示训练过程中的损失值、准确率、权重偏置变化
  • IMAGES:显示训练的图像
  • AUDIO:显示训练的音频
  • GRAPHS:可视化模型
  • DISTRIBUTIONS:记录数据的分布
  • HISTOGRAMS:数据的直方图
  • EMBEDDINGS:词向量的投影

 

  想用tensorboard展示哪些量,只需要在变量后添加tf.summary底下相应的函数即可,举个栗子

1 def loss(logits,label_batches):
2     cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits,labels=label_batches)
3     cost = tf.reduce_mean(cross_entropy)
4     tf.summary.scalar("loss",cost)
5     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后进行一次汇总。

1 summary = sess.run(summary_op)
2 train_writer.add_summary(summary,step)

 

实际展示的结果如下

SCALARS

IMAGES

GRAPHS

 

posted @ 2017-07-25 19:45  康小武  阅读(3038)  评论(0编辑  收藏  举报