• deep_learning_Function_tf.argmax()解析


    tf.argmax(input,axis)根据axis取值的不同返回每行或者每列最大值的索引。 这个很好理解,只是tf.argmax()的参数让人有些迷惑,比如,tf.argmax(array, 1)和tf.argmax(array, 0)有啥区别呢? 这里面就涉及到一个概念:axis。上面例子中的1和0就是axis。我先笼统的解释这个问题,设置axis的主要原因是方便我们进行多个维度的计算。

      比如:

    test = np.array([[1, 2, 3], [2, 3, 4], [5, 4, 3], [8, 7, 2]])
    np.argmax(test, 0)   #输出:array([3, 3, 1]
    np.argmax(test, 1)   #输出:array([2, 2, 0, 0]123
    

    axis = 0:
      axis=0时比较每一列的元素,将每一列最大元素所在的索引记录下来,最后输出每一列最大元素所在的索引数组。
       

    test[0] = array([1, 2, 3])
    test[1] = array([2, 3, 4])
    test[2] = array([5, 4, 3])
    test[3] = array([8, 7, 2])
    # output   :    [3, 3, 1]  
    

    axis = 1:
      axis=1的时候,将每一行最大元素所在的索引记录下来,最后返回每一行最大元素所在的索引数组。

    test[0] = array([1, 2, 3])  #2
    test[1] = array([2, 3, 4])  #2
    test[2] = array([5, 4, 3])  #0
    test[3] = array([8, 7, 2])  #0
    


      这是里面都是数组长度一致的情况,如果不一致,axis最大值为最小的数组长度-1,超过则报错。
      当不一致的时候,axis=0的比较也就变成了每个数组的和的比较。

    参考文档
    tf.argmax的使用
    tf.argmax()以及axis解析
    ————————————————
    原文链接:https://blog.csdn.net/u012300744/article/details/81240580

  • 相关阅读:
    python-生成器
    python—迭代器
    python—递归函数
    CentOS关闭防火墙
    OpenHCI
    USB电源管理
    USB相关的网络资料
    USB Packet Types
    USB描述符概述
    Core Java Volume I — 1.2. The Java "White Paper" Buzzwords
  • 原文地址:https://www.cnblogs.com/0405mxh/p/11603479.html
Copyright © 2020-2023  润新知