2017-08-30 101 views
1

定期评估tensorflow文档不提供如何在一个评估集合执行所述模型的定期评价任何例子。Tensorflow估计 - 上评估和演示数据集

Some people建议使用的实验,这听起来不错,但遗憾的是不工作(折旧和触发一个错误)。

Others建议使用SummarySaverHook,但我没有看到如何将它与评估集(而不是训练集)结合使用。

一个解决办法是做到以下几点

for i in range(number_of_epoch): 
    estimator.train(...) // on training set 
    estimator.evaluate(...) // on evaluation set 

这种架构的this paper明确建议(第4页右上)。

任何其他的想法/执行?

编辑:

时运行的实验是以下错误消息:

File ".../anaconda2/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/experiment.py", line 253, in train if (config.environment != run_config.Environment.LOCAL and 
AttributeError: 'RunConfig' object has no attribute 'environment' 

Tensorflow版本1.3

回答

1

只有少数参数/的Experiment选项弃用(具体是什么错误你看到了吗?)。如果你使用它创建一个Estimator,会做定期的检查站(在RunConfig使用期权)和Experiment,你会使用train_and_evaluate方法时得到的评价在默认情况下每个检查点。

编辑:由于马克西姆在评论中指出。他需要添加以下行来摆脱他的错误:

os.environ['TF_CONFIG'] = json.dumps({'environment': 'local'}) 
config = tf.contrib.learn.RunConfig() 
+0

感谢您的回复。我用错误日志编辑了问题。该错误消息我得到的是:“AttributeError的:‘RunConfig’对象有没有属性‘环境’” –

+0

我会尝试添加此: os.environ [“TF_CONFIG”] = json.dumps({“环境”:“本地” }) config = tf.contrib.learn.RunConfig() –

+0

它工作。非常感谢你。你能编辑你的答案,并添加两行代码,这样每个人都可以理解吗? –