在张量流中相等的tf.argmax没有给我预期的结果

时间:2019-05-02 22:37:43

标签: tensorflow

谁能告诉我下面的行为什么给我False。知道我正在使用tensorflow 2.0

tf.argmax(input= tf.constant([0., 1, 0.]) == tf.argmax(input=tf.constant([0., 1, 0.])
False

3 个答案:

答案 0 :(得分:0)

首先,tf.constant([0., 1, 0.])将产生一个[0.0,1.0,0.0]的向量。

接下来,tf.argmax(input=tf.constant([0., 1, 0.])将产生一个整数(因为您将argmaxaxis=0一起使用,该整数将为1。向量中索引1处的项具有最大值。 / p>

您正在尝试比较,

[0.0,1.0,0.0]和1

在任何情况下都不相等。因此输出为False。

答案 1 :(得分:0)

问题在于平等。我应该将tf.equal与张量一起使用。

答案 2 :(得分:0)

请记住,您在评估前使用张量,而不是值。因此,在这种情况下,请始终使用特殊的张量流函数,例如tf.equal()