tensorflow在训练和验证时监视不同的summary的操作

如果想在训练和验证时监视不同的summary,将train summary ops和val summary ops放进不同的集合中即可。

train_writer = tf.summary.FileWriter(log_dir + '/train', sess.graph)
val_writer = tf.summary.FileWriter(log_dir + '/val', sess.graph)

# 假设train_loss和val_loss的计算方式不同
tf.summary.scalar("train_loss", train_loss, collections=['train'])
tf.summary.scalar("val_loss", val_loss, collections=['val'])

train_summary_ops = tf.summary.merge_all('train')
val_summary_ops = tf.summary.merge_all('val')

# training
...
train_summary = sess.run(train_summary_ops, feed_dict=train_dict)
train_writer.add_summary(train_summary, global_step)

# validation
...
val_summary = sess.run(val_summary_ops, feed_dict=val_dict)
val_writer.add_summary(val_summary, global_step)

# end
train_writer.close()
val_writer.close()
posted @ 2018-10-22 17:49  MrZJ  阅读(535)  评论(0编辑  收藏  举报