在做网络训练实验时,有时需要同时将训练曲线和测试曲线一起显示,便于观察网络训练效果。经过很多次踩坑后,终于解决了。
具体的方法是:设置两个writer
,一个用于写训练的数据,一个用于写测试数据,并且这两个writer
分别存在train和test路径中,注意测试的writer
不能加sess.graph
如下代码所示。
...
train_log_dir = 'logs/train/'
test_log_dir = 'logs/test/' # 两者路径不同
megred = tf.summary.merge_all()
with tf.Session() as sess:
writer_train = tf.summary.FileWriter(train_log_dir,sess.graph)
writer_test = tf.summary.FileWriter(test_log_dir) # 注意此处不需要sess.graph
...other code...
writer_train.add_summary(summary_str_train,step)
writer_test.add_summary(summary_str_test,step)
此处贴一个使用mnist测试的图片,如图所示,在左下角可以通过test
和train
的选项卡选择查看哪条曲线。