tf.argmax用法

Posted logo-88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tf.argmax用法相关的知识,希望对你有一定的参考价值。

网上资料一堆,看到头晕.结合书上一些写法,做个总结.不足之处,欢迎指正!

原型:tf.argmax(array,axis)

用途:针对传入函数的axis参数,去选取array中相对应轴元素值大的索引!

千言万语,不如代码来的实际!

A = [[1,3,4,5,6]]
B = [[1,3,4], [2,4,1]]
C = [[[16,6,3],[4,6,5]], [[8,7,9], [11,12,10]]]

 
with tf.Session() as sess:
    print(sess.run(tf.argmax(A, 0)))
    print(sess.run(tf.argmax(A, 1)))
    print(sess.run(tf.argmax(B, 0)))
    print(sess.run(tf.argmax(B, 1)))
    print(sess.run(tf.argmax(C, 0)))
    print(sess.run(tf.argmax(C, 1)))
    print(sess.run(tf.argmax(C, 2)))

‘‘‘
[0 0 0 0 0]   #(A,0)  在向量列中找最大值的索引,而每个数据在每列中都是最大的(因为只有一个数),故返回[0 0 0 0 0]
[4]      #(A,1)   在向量行中找最大值的索引,6结果最大,最后返回6的序号[4]

[1 1 0]    #(B,0) 在矩阵列中找最大值的索引, 1 2最大值为2,故返回1 3 4最大值为4,故返回1 4 1最大值为4,故返回0
             最后返回[1 1 0] [2 1]     #(B,1) 在矩阵行中最大致的索引, 1 3 4最大值为4,故返回2 2 4 1最大值为4,故返回1 最后返回[2,1]
        #(C,0) 在矩阵第0轴找最大值的索引, 16 8最大值为16,故返回1 6 7最大值为7,故返回1 相类似,
            最后5 10最大值为10,故返回1 最后返回[[1 1 0]
                               [1 1 1]]

[[0 1 1]    [1 1 1]]

        #(C,1) 在矩阵第1轴找最大值的索引, 16 6最大值为16,故返回0 6 6最大值为6,故返回0
            相类似,最后9 10最大值为10,故返回1 最后返回[[0 0 1]
                                   [1 1 1]]
[[0 0 1]   [1 1 1]]
        #(C,2) 在矩阵第2轴找最大值的索引, 16 6 3中最大值为16,故返回0 4 6 5最大值为6,故返回1
8 7 9最大值为9,故返回2 11 12 10最大值为12,故返回1 最后结果为[[0 1]
                                   [2 1]] 
[[0 1]               [2 1]]
‘‘‘

 














以上是关于tf.argmax用法的主要内容,如果未能解决你的问题,请参考以下文章

张量流:tf.argmax 和切片

tf.argmax()以及axis解析

绕过tf.argmax是不可区分的

TFboy养成记 tf.cast,tf.argmax,tf.reduce_sum

TensorFlow函数 tf.argmax()

TensorFlow函数 tf.argmax()