2017-05-01 12 views
0

私はtensorflowデモを書くとき、私はテンソルの軸間の最大値でインデックスを返しますcorrect_preditionテンソルフローのsoftmaxでtf.arg_max(Y、1)が必要なのはなぜですか?

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(
      logits=hypothesis,labels=Y)) 
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost) 

correct_prediction = tf.equal(tf.arg_max(hypothesis,1),tf.arg_max(Y,1)) 

の定義にこのarg_max()機能を見つけます。

我々は最大のインデックスを取得する確率として提示されている

我々は 'softmax_cross_entropy_with_logits' を使用するために、

予測(hypothesis)(これは、TFからAPIからです) arg_max()hypothesis

しかしYはラベルですなぜ使用する必要があるのでしょうかtf.arg_max(Y,1)

答えて

0

arg_max(仮説)がINDEXを返しています。 Yは長さ10の1ホットベクトルです。 tf.equal()は2つのものが互換性がないため、ここでは何もできません。

したがって、arg_max(Y)はINDEXを返します。 tf.equal()は、予測がターゲットに一致する場合は1、それ以外の場合は0になります。

arg_max()は確率についての関数ではありません。これは単なる最大の要素のインデックスを返す関数です。

+0

ありがとうございます。 *** Yは長さ10の1ホットベクトルです。***はこの質問にとって重要です。 –

関連する問題