TensorFlow:EVAL和INFER之间的差异

时间:2017-07-05 19:11:22

标签: python tensorflow neural-network conv-neural-network

tf.contrib.learn.ModeKeys.EVALtf.contrib.learn.ModeKeys.INFER之间的区别是什么?

此外,它们与tf.contrib.learn.Estimator类对象的确切用途是什么?

我正在尝试按照本教程进行操作:https://www.tensorflow.org/tutorials/layers,我正在努力了解这些"模式的目的"。

API文档:https://www.tensorflow.org/api_docs/python/tf/contrib/learn/ModeKeys

1 个答案:

答案 0 :(得分:2)

EVAL似乎与INFER的不同之处在于EVAL是在训练期间评估模型时使用的模式,其中当模型已经训练并且纯粹用于进行预测时使用INFER。例如,在您链接的教程中,当在EVAL或TRAIN模式下使用模型时,损失函数op包含在图形中,但在INFER模式下则不包括。因为在进行训练进度评估(EVAL模式)时知道损失函数的值是有用的,但是当你纯粹对产生预测感兴趣时(INFER模式)你不需要它。