当我编写tensorflow演示时,我在 arg_max()
correct_predition
函数
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))
返回张量轴上具有最大值的索引。(这来自TF的API)
我们使用' softmax_cross_entropy_with_logits
',
预测( hypothesis
)表示为概率
我们将通过 arg_max()
的 hypothesis
函数得到最大预测概率的索引
但是Y
是标签,这不是我们需要使用tf.arg_max(Y,1)
的概率吗?
答案 0 :(得分:0)
arg_max(假设)正在返回一个INDEX。 Y是长度为10的单热矢量。 tf.equal()在这里做不了什么事,因为这两件事情不兼容。
因此,arg_max(Y)返回一个INDEX。 现在tf.equal()可以做一个明智的事情:如果预测与目标匹配则为1,否则为0。
注意arg_max()不是关于概率的函数:它只是一个返回最大元素索引的函数。