为什么tf.argmax在我的数组中没有得到正确的值

时间:2017-05-02 10:07:54

标签: tensorflow

我似乎遇到了argmax为我的数组获取正确索引的问题。它假设返回一个值0,但我得到一个值18.这是一个例子:

>>> a = tf.constant([-0.00000000e+00, 1.31838050e-07, 7.86561927e-11,1.95077332e-09, 4.71118966e-09, 2.67971922e-10,3.62677839e-11 ,9.57063651e-10, 3.25077543e-09, 6.84045816e-08, 2.71129057e-08, 4.34358327e-10, 3.01831915e-09, 6.50069998e-09,1.40559550e-10, 4.57989238e-08, 1.42130885e-08,   9.68442881e-10,  8.28957923e-07,6.10620265e-09, 2.63989475e-09])

>>> a.eval()
array([ -0.00000000e+00,   1.31838050e-07,   7.86561927e-11,
         1.95077332e-09,   4.71118966e-09,   2.67971922e-10,
         3.62677839e-11,   9.57063651e-10,   3.25077543e-09,
         6.84045816e-08,   2.71129057e-08,   4.34358327e-10,
         3.01831915e-09,   6.50069998e-09,   1.40559550e-10,
         4.57989238e-08,   1.42130885e-08,   9.68442881e-10,
         8.28957923e-07,   6.10620265e-09,   2.63989475e-09], dtype=float32)

>>> b = tf.argmax(a,0)
>>> b.eval()
>>> 18

1 个答案:

答案 0 :(得分:1)

a[18]=8.2895792e-07 > a[0]=0

没有问题,a[18]是数组中的最大值,所有数字都是正数...