以在tensorboard中添加训练过程中网络的损失值为例。
在网络构建阶段,
L = xxnet.loss(output, label)
tf.summary.scalar("Training loss", L)
然后添加一个op
summary_op = tf.summary.merge_all()
在会话中,定义一个SummaryWriter
summary_writer = tf.summary.FileWriter(logdir, sess.graph)
在每一训练步骤中,
summary_str = sess.run(summary_op)
summary_writer.add_summary(summary_str, step)
然后当训练开始后,就可以在tensorboard中看到损失值了。不过,这种方式缺乏灵活性。更推荐使用下面的方式
summary_writer = tf.summary.FileWriter(logdir)
summary = tf.Summary(value=[
tf.Summary.Value(tag="Training loss", simple_value=L),
tf.Summary.Value(tag="Validation loss", simple_value=L_val)])
summary_writer.add_summary(summary, step)
或者:
summary_writer = tf.summary.FileWriter(logdir) summary = tf.Summary() summary.value.add(tag="Training loss", simple_value=L) summary.value.add(tag="Validation loss", simple_value=L_val) summary_writer.add_summary(summary, step)
