tensorboard实现训练的可视化

时间:2023-12-21 13:39:26

  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

tensorboard实现训练的可视化

IMAGES

tensorboard实现训练的可视化

GRAPHS

tensorboard实现训练的可视化