谁能告诉我为什么下面的行给我 False。知道我正在使用 tensorflow 2.0
tf.argmax(input= tf.constant([0., 1, 0.]) == tf.argmax(input=tf.constant([0., 1, 0.])
False
谁能告诉我为什么下面的行给我 False。知道我正在使用 tensorflow 2.0
tf.argmax(input= tf.constant([0., 1, 0.]) == tf.argmax(input=tf.constant([0., 1, 0.])
False
首先,tf.constant([0., 1, 0.])
将产生一个 [0.0, 1.0, 0.0] 的向量。
接下来,tf.argmax(input=tf.constant([0., 1, 0.])
将生成一个整数 ( 因为您使用的是argmax
with axis=0
,它将为 1。向量中索引 1 处的项目具有最高值。
你试图比较,
[ 0.0 , 1.0 , 0.0 ] 和 1
无论如何,这是不相等的。因此输出为假。
请记住,您在评估之前使用张量,而不是使用值。因此,请始终使用特殊的 tensorflow 函数,就像tf.equal()
在这种情况下一样。
问题在于平等。我应该使用tf.equal
张量。