2017-07-05 14 views
1

tf.contrib.learn.ModeKeys.EVALtf.contrib.learn.ModeKeys.INFERの違いは何ですか?TensorFlow:EVALとINFERの差

また、これらはtf.contrib.learn.Estimatorクラスオブジェクトでどのくらい正確に使用されていますか?

私はこのチュートリアルに従っています:https://www.tensorflow.org/tutorials/layers、私はこれらの "モード"の目的を理解するのに苦労しています。

APIドキュメント:https://www.tensorflow.org/api_docs/python/tf/contrib/learn/ModeKeys

答えて

1

EVALはそのEVALでINFERは異なっているようですが、モデルはINFERは、モデルがすでに訓練を受けているときに使用されるとの予測を行うために純粋に使用されているトレーニング、中に評価されたときに使用するモードです。たとえば、リンクしたチュートリアルでは、モデルがEVALまたはTRAINモードで使用されているが、INFERモードでは使用されていないときに、損失関数opがグラフに含まれています。トレーニング進捗評価(EVALモード)を行う際の損失関数の価値を知ることは有益ですが、予測を生成することに純粋に関心がある場合(INFERモード)は必要ありません。

+0

しかし、私が見たチュートリアルのほとんどは、トレーニング/評価を別々のモード(または異なるスクリプト)に分けているようです。これは、トレーニング後のパフォーマンスを評価するのではなく、トレーニング中の進捗状況を追跡する方法として、トレーニングステップ内で検証/評価のステップを繰り返し実行する必要があるように思われるため、わかりません。これが当てはまる場合、検証とテストは本質的に同じことをするでしょう。 – Mink

+0

さて、訓練と妥当性検証は異なることを行い、異なるデータを使用するので、テンソルフローグラフでは別々の操作です。たとえば、ドロップアウトやドロップコネクトを使用している場合は、評価や推論を行うときはオフにしたいが、トレーニングを行うときはオフにすることができます。 –

関連する問題