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

Posted mrzj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

以上是关于tensorflow在训练和验证时监视不同的summary的操作的主要内容,如果未能解决你的问题,请参考以下文章

在 tensorflow 训练和测试中显示不同的结果

训练和验证模式 tensorflow 的 SAME 数据丢失不一致

使用相同的图在 TensorFlow 中显示训练和验证的准确性

Tensorflow model.evaluate 给出的结果与从训练中获得的结果不同

tensorflow 保存好训练的模型,restore 后验证集的正确率很低

如何将 Tensorflow 数据集 API 与训练和验证集一起使用