4

tensorflow 文档没有提供任何关于如何在评估集上执行模型的定期评估的示例。

有人建议使用 Experiment,听起来不错,但不幸的是不起作用(折旧并触发错误)。

其他人建议使用 SummarySaverHook,但我不明白如何将它与评估集(与训练集相反)一起使用。

一个解决方案是执行以下操作

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

本文明确不鼓励这种架构(第 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 版

4

1 回答 1

1

仅不推荐使用的几个参数/选项Experiment(您看到什么具体错误?)。如果您创建一个Estimator将执行定期检查点(使用RunConfig中的选项)并使用它,则默认情况下,您将在使用方法Experiment时获得每个检查点的评估。train_and_evaluate

编辑:正如马克西姆在评论中指出的那样。他需要添加以下几行来消除他的错误:

os.environ['TF_CONFIG'] = json.dumps({'environment': 'local'})
config = tf.contrib.learn.RunConfig()
于 2017-09-05T04:38:25.197 回答