Tensorflow describes编写文件摘要以可视化图形执行。如何顺利生成Tensorflow auc摘要用于培训和测试集?
我设想了三个阶段:(!没有优化)
- 训练数据(最优化)
- 训练集测量精度(不优化)
- 在测试集测量精度
我想要在同一个脚本中的所有阶段,如wide_and_deep tutorial的评估函数,但使用低级API。我需要三个不同的统计图,比如损失或AUC,每个阶段一个。
假设我使用一个会话,并且在每个阶段定义一个AUC摘要运算:
# define auc
auc, auc_op = tf.metrics.auc(labels, predictions)
# summary scalar to track it
tf.summary.scalar("auc", auc_op, family=family_name)
# merge all summaries for evaluation and later writing
summary_op = tf.summary.merge_all()
...
summary_writer.add_summary(summary, step_num)
有三个图形,但在第一图表上有所有三个运行,并且第二图形具有最后两次运行(见下文)。更糟糕的是,每个阶段都从之前的状态开始。这是有道理的,因为前几个阶段的所有变量都还在。
我可以为每个阶段使用不同的会话,但这也会抛弃模型。
什么是平滑的方式来处理这个问题?
我想清除一些摘要变量。我试着重新初始化一些变量,看看related问题,阅读关于名称范围和变量范围,并尝试不重复使用变量的AUC,阅读约variables和sharing,看着pruning nodes(虽然我不明白它)等等,我还没有成功。
我正在使用低级API。我在_eval_metric_ops的高级API中看到类似这样的内容,但我不明白他们如何“清除”不同的阶段。用name_scope?
我是否必须将模型保存并加载到新的会话中,或者是否有一些干净的方法分别绘制每个摘要?
谢谢!我必须使用低级API。我最终创建了一个新的总结作者,而不是*使用merge_all,它将继续写入旧的度量标准。相反,我确保只编写最新阶段的指标。 – dfrankow