0

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

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

3 回答 3

0

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

接下来,tf.argmax(input=tf.constant([0., 1, 0.])将生成一个整数 ( 因为您使用的是argmaxwith axis=0,它将为 1。向量中索引 1 处的项目具有最高值。

你试图比较,

[ 0.0 , 1.0 , 0.0 ] 和 1

无论如何,这是不相等的。因此输出为假。

于 2019-05-03T01:41:24.307 回答
0

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

于 2019-05-03T08:17:39.683 回答
0

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

于 2019-05-03T02:31:50.810 回答