在使用argmax()函数时,比如在深度学习里面计算acc经常要用到这个参数,这个参数返回的是沿轴axis最大值的索引值,对于,tensorflow和numpy用法是一样的,此处我就用numpy来举例说明。

argmax(a, axis=None, out=None)

# a 表示array

# axis 表示指定的轴,默认是None,表示把array平铺,

# out 默认为None,如果指定,那么返回的结果会插入其中

1

2

3

4

对于axis默认为None的情况

首先我们看axis=None,也就是默认的时候:

二维array情况

a = np.array([[2,5,6],[7,6,1]])

print(np.argmax(a))

1

2

输出结果为3,因为a里面7是最大的,如果没有指定axis,默认就是None,相当于把array平铺为:[2,5,6,7,6,1],那么结果就是3,因为索引3对应的值最大,再来看一下三维的情况

### 三维array的情况

b = np.random.randint(20,size=[3,2,2])

print(b)

[[[ 0 16]

[14 5]]

[[16 6]

[19 2]]

[[11 11]

[ 5 7]]]

1

2

3

4

5

6

7

8

9

10

这个里面,19最大,把它平铺,19对应的索引就是6,那么np.argmax(b)就是6,经过验证输出就是6

对于给定axis的情况

如果给定axis,那么返回的就是沿着给定轴的最大索引,所谓沿着,我觉得就是投影,就是沿着这个轴投影,每一根投影线上最大值的索引。

二维情况分析

a = np.array([[2,5,6],[7,6,1]])

print(np.argmax(a,axis=1))

[2 0]

1

2

3

这次,我们给定axis=1,那么按照我们说的,就是沿着axis=1投影,看得出来,投影后我们只有两个值,因为[2,5,6]在一根投影线上,相当于就是我理解的一个投影线,因为这些值投影后重叠了,相当于只有一个值,所以[7,6,1]也是一个投影线,然后在这两个投影线取最大值的索引,对于[2,5,6]来说,最大值索引就是2,[7,6,1]最大值索引就是0,所以结果为[2,0]

然后,我们分析,当我们设置axis=0的时候,也就是沿着axis=0,投影,那么[2,7],[5,6],[6,1]分别在一个投影线上,所以结果为[1,1,0],经过验证确实是这样的。

三维情况分析

b = np.random.randint(20,size=[3,2,2])

print(b)

[[[ 0 16]

[14 5]]

[[16 6]

[19 2]]

[[11 11]

[ 5 7]]]

1

2

3

4

5

6

7

8

9

10

还是用上面的array来说,看一下结果:

print(np.argmax(b,axis=1))

[[1 0]

[1 0]

[0 0]]

1

2

3

4

同样的分析,我们指定了轴为1,那么也就是说我们沿着axis=1轴投影,这是一个体,那么我们投影线相当于有3*2条,其实在同一根投影线上是axis=0和axis=2的一个组合,比如axis=1中第一个上的和axis=2的第一个上的组合,也就是b[0,:,0],b[0,:,1],b[2,:,0],b[2,:,1],b[3,:,0],b[3,:,1]这六条线的索引对应的最大值,我们看他们分别为[ 0 14],[16 5],[16 19],[6 2],[11 5],[11 7],那么结果就是[[1,0],[1,0],[0,0]]。

所以其实和二维是一样的,所谓投影线,其实可以这样表示,我们去axis=0,那么我们遍历其他维度的大小,比如 arr[:,0,0],arr[:,0,1],也就是沿着那个轴,那么轴取全部值,然后再在投影线上找最大值对应索引。

总结

tensorflow里面的是一样的用法,同时argmin()用法相同,只是他是求最小值的索引。

python中argmin函数_numpy 和tensorflow中argmax(),argmin()函数使用讲解相关推荐

  1. 中tile函数_HelpGirlFriend 系列 --- tensorflow 中的张量运算思想

    GirlFriend 在复现论文的时候,我发现她不太会将通用数学公式转化为张量运算公式,导致 tensorflow 无法通过并行的方式优化其论文复现代码的运行速率. 这里对给 GirlFriend 讲 ...

  2. python实现胶囊网络_在TensorFlow中实现胶囊网络

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 我们都知道,在许多计算机视觉任务中,卷积神经网络(CNN)的性能均 ...

  3. 【转】tensorflow中的batch_norm以及tf.control_dependencies和tf.GraphKeys.UPDATE_OPS的探究

    笔者近来在tensorflow中使用batch_norm时,由于事先不熟悉其内部的原理,因此将其错误使用,从而出现了结果与预想不一致的结果.事后对其进行了一定的调查与研究,在此进行一些总结. 一.错误 ...

  4. tensorflow中张量、常量、变量、占位符

    引言 从实例出发 #先导入TensorFlow import tensorflow as tf# Create TensorFlow object called hello_constant hell ...

  5. tensorflow中的sequence_loss_by_example

    在编写RNN程序时,一个很常见的函数就是sequence_loss_by_example loss = tf.contrib.legacy_seq2seq.sequence_loss_by_examp ...

  6. Tensorflow 中添加正则化项

    为防止网络过拟合,在损失函数上增加一个网络参数的正则化项是一个常用方法,下面介绍如何在Tensorflow中添加正则化项. tensorflow中对参数使用正则项分为两步: step1: 创建一个正则 ...

  7. TensorFlow中设置学习率的方式

    目录 1. 指数衰减 2. 分段常数衰减 3. 自然指数衰减 4. 多项式衰减 5. 倒数衰减 6. 余弦衰减 6.1 标准余弦衰减 6.2 重启余弦衰减 6.3 线性余弦噪声 6.4 噪声余弦衰减 ...

  8. python tensorflow tf.Session().run()函数(运行操作并评估“fetches”中的张量)

    参考文章:TensorFlow-sess.run() 当我们构建完图(可能是我们pre_process后生成的图片?NoNoNo,它只是指tensorflow框架的一种设计理念--计算流图)后,需要在 ...

  9. python中的np array函数_numpy中的np.ascontiguousarray()函数

    "Return a contiguous array (ndim >= 1) in memory (C order)." 用途 ascontiguousarray函数将一个内 ...

最新文章

  1. 模板 - LCA最近公共祖先(倍增法、Tarjan、树上差分、LCA优化的次小生成树)
  2. 【Docker学习笔记(三)】Hello world!
  3. springmvc二十八:springmvc使用common-fileUpload实现文件上传
  4. 【小白学习C++ 教程】八、在C++指针传递引用和Const关键字
  5. Oracle 左连接、右连接、全外连接、(+)号作用
  6. jQuery Mobile滚动事件
  7. linux压缩文件命令_Linux基础篇(二)--Linux常用命令
  8. 大数据环境下数据质量指标体系
  9. 2021-03-04
  10. 电磁场与电磁波第四版 课后习题
  11. Mac系统升级Git
  12. ffmpeg安装及在java中的使用案例
  13. select into from 和 insert into select的使用
  14. 抖音通过什么方式变现,抖音变现方式分别有什么
  15. 更换一个已到使用寿命的墨盒--Epson
  16. 如何从面试官中知道自己需要准备什么
  17. Javaweb酒店预约管理系统(框架SpringBoot+Vue)
  18. python从邮箱获取指定邮件_用python提取并统计指定邮箱里的特定邮件 | 学步园
  19. PC安装安卓系统模拟器
  20. asp.net 将中文翻译成拼音(VS2008)

热门文章

  1. 哈佛大学计算机学院博士后,哈佛大学正在招收访问学者、博士后!
  2. makefile basename
  3. CentOS 7修改hostname
  4. 自学编程和科班出身的人,差距在哪?
  5. zabbix实战监控WEB网站性能
  6. python利用PIL拼接图片(九宫格)
  7. java实时推送goeasy_用GoEasy推送实现Java实时推送
  8. C# 自定义画刷研究
  9. 2021-2027全球与中国IT设备浸入式冷却解决方案市场现状及未来发展趋势
  10. MySQL 中判断奇数的 6 种方法