Python Tensorflow估计器:在单独的脚本中使用predict()函数

Python Tensorflow估计器:在单独的脚本中使用predict()函数,python,validation,tensorflow,deep-learning,tensorflow-estimator,Python,Validation,Tensorflow,Deep Learning,Tensorflow Estimator,我已经成功地(我希望)使用tf.估计器训练和评估了一个模型,其中我达到了83-85%左右的训练/评估精度。现在,我想使用Estimator类中的predict()函数调用在一个单独的数据集上测试我的模型。最好我想在一个单独的脚本中这样做 我已经说过我需要导出为SavedModel,但这真的有必要吗?查看Estimator类的路径,似乎我可以通过model\u dir参数传递到检查点和图形文件的路径。有人有这方面的经验吗?当我在用于验证的同一数据集上运行模型时,我没有获得与验证阶段相同的性能…:-

我已经成功地(我希望)使用tf.估计器训练和评估了一个模型,其中我达到了83-85%左右的训练/评估精度。现在,我想使用Estimator类中的predict()函数调用在一个单独的数据集上测试我的模型。最好我想在一个单独的脚本中这样做


我已经说过我需要导出为SavedModel,但这真的有必要吗?查看Estimator类的路径,似乎我可以通过
model\u dir
参数传递到检查点和图形文件的路径。有人有这方面的经验吗?当我在用于验证的同一数据集上运行模型时,我没有获得与验证阶段相同的性能…:-(

我认为您只需要一个包含
模型fn
定义的单独文件。然后在另一个脚本中使用相同的
model\u fn
定义和相同的
model\u dir
实例化相同的估算器类


这是因为估计器API自行恢复
tf.Graph
定义和最新的
model.ckpt
文件,以便您能够继续进行培训、评估和预测。

将用于培训的相同路径传递给估计器构造函数,然后调用predict()应该工作我发现我的predict()函数没有按预期工作的原因是,当我编写以TFRecords格式收集数据的脚本时,我没有注意到os.listdir以随机顺序列出目录元素,因此预测的标签与基本事实根本不符。您的评论是正确的。