谁能告诉我下面的行为什么给我False。知道我正在使用tensorflow 2.0
tf.argmax(input= tf.constant([0., 1, 0.]) == tf.argmax(input=tf.constant([0., 1, 0.])
False
答案 0 :(得分:0)
首先,tf.constant([0., 1, 0.])
将产生一个[0.0,1.0,0.0]的向量。
接下来,tf.argmax(input=tf.constant([0., 1, 0.])
将产生一个整数(因为您将argmax
与axis=0
一起使用,该整数将为1。向量中索引1处的项具有最大值。 / p>
您正在尝试比较,
[0.0,1.0,0.0]和1
在任何情况下都不相等。因此输出为False。
答案 1 :(得分:0)
问题在于平等。我应该将tf.equal
与张量一起使用。
答案 2 :(得分:0)
请记住,您在评估前使用张量,而不是值。因此,在这种情况下,请始终使用特殊的张量流函数,例如tf.equal()
。