网上大多数对max的解释只停留在二维数据,在三维及以上就没有详述,我将对二维数据和三维数据进行详细解释,让你不再有疑虑

参考文章

torch.max()使用讲解

torch.max(input, dim, keepdim=False, *, out=None) -> (Tensor, LongTensor)

在分类问题中,通常使用max()函数对softmax函数的输出值进行操作,求出预测值索引

参数

  • input:softmax函数输出的一个tensor
  • dim:是max函数索引的维度000或111,000指每列的最大值,111指每行的最大值

输出

  • 函数会返回两个tensor,第一个tensor是每行的最大值,softmax的输出中最大的是1,索引第一个tensor是全1的tensor;第二个tensor是每行最大值的索引

二维数据详细讲述

>>>import torch
>>>a = torch.tensor([[1,5,62,54], [2,6,2,6], [2,65,2,6]])
>>>print(a)tensor([[ 1,  5, 62, 54],[ 2,  6,  2,  6],[ 2, 65,  2,  6]])

dim = 0

torch.max(a,0)
torch.return_types.max(
values=tensor([ 2, 65, 62, 54]),
indices=tensor([1, 2, 0, 0]))

这个计算过程是:

  1. a[dim][0],dim会从0遍历到2,也就是[1,2,2],得到第一个最大值2,index为1
  2. a[dim][1],对[5,6,65],最大值为65,index为2
  3. 最终得到上图结果

dim = 1

torch.max(a, 1)
torch.return_types.max(
values=tensor([62,  6, 65]),
indices=tensor([2, 1, 1]))

这个计算过程是:

  1. a[0][dim],dim会从0遍历到3,也就是[1,5,62,54],得到第一个最大值62,index为2
  2. a[1][dim],对[2,6,2,6],最大值为6,index为1
  3. 最终得到上图结果

三维数据详述

a = [1,2,13,4,5,6,27,8,9,0,11,12]
a = np.array(a).reshape(3,2,2)
a = torch.Tensor(a)
print(a)
tensor([[[ 1.,  2.],[13.,  4.]],[[ 5.,  6.],[27.,  8.]],[[ 9.,  0.],[11., 12.]]])

dim = 0

torch.max(a,dim=0)
torch.return_types.max(
values=tensor([[ 9.,  6.],[27., 12.]]),
indices=tensor([[2, 1],[1, 2]]))

计算过程:

  1. a[dim][0][0],dim会从0遍历到2,其他维数值不变,也就是[1,5,9],得到第一个最大值9,index为2
  2. a[dim][0][1],dim会从0遍历到2,其他维数值不变,对[2,6,0]遍历,最大值为6,index为1
  3. a[dim][1][0],dim会从0遍历到2,其他维数值不变,对[13,27,11]遍历,最大值为27,index为1
  4. a[dim][1][1],dim会从0遍历到2,其他维数值不变,对[13,27,11]遍历,最大值为27,index为1
  5. 最终得到上面结果

dim = 1

torch.max(a,dim=1)
torch.return_types.max(
values=tensor([[13.,  4.],[27.,  8.],[11., 12.]]),
indices=tensor([[1, 1],[1, 1],[1, 1]]))

计算过程:

  1. a[0][dim][0],dim会从0遍历到1,其他维数值不变,也就是[1,13],得到第一个最大值13,index为1
  2. a[0][dim][1],dim会从0遍历到1,其他维数值不变,对[2,4]遍历,最大值为4,index为1
  3. a[1][dim][0],dim会从0遍历到1,其他维数值不变,对[5,27]遍历,最大值为27,index为1
  4. a[1][dim][1],dim会从0遍历到1,其他维数值不变,对[6,8]遍历,最大值为8,index为1
  5. 最终得到上面结果

dim = 2

torch.max(a,dim=2)
torch.return_types.max(
values=tensor([[ 2., 13.],[ 6., 27.],[ 9., 12.]]),
indices=tensor([[1, 0],[1, 0],[0, 1]]))

计算过程:

  1. a[0][0][dim],dim会从0遍历到1,其他维数值不变,也就是[1,2],得到第一个最大值2,index为1
  2. a[0][1][dim],dim会从0遍历到1,其他维数值不变,对[13,4]遍历,最大值为13,index为0
  3. a[1][0][dim],dim会从0遍历到1,其他维数值不变,对[5,6]遍历,最大值为6,index为1
  4. a[1][1][dim],dim会从0遍历到1,其他维数值不变,对[27,8]遍历,最大值为27,index为1
  5. 最终得到上面结果

pytorch.max()的详细解释相关推荐

  1. PointNet代码详细解释(Pytorch版本)

    pointnet.pytorch的代码详细解释 1. PointNet的Pytorch版本代码解析链接 2. 代码解释 2.1 代码结构思维导图 2.2 代码注释 2.2.1 build.sh 2.2 ...

  2. Python精讲Numpy基础,大牛笔记详细解释

    https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...

  3. matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释

    总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等, ...

  4. 吴恩达机器学习 神经网络 作业1(用已经求好的权重进行手写数字分类) Python实现 代码详细解释

    整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...

  5. 吴恩达机器学习 逻辑回归 作业3(手写数字分类) Python实现 代码详细解释

    整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...

  6. pythonnumpy详解_Python精讲Numpy基础,大牛笔记详细解释

    以前总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门 ...

  7. 杭电2159-FATE (二维背包运用+详细解释)

    FATE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. hql 语法与详细解释

    hql 语法与详细解释 2010-08-26 11:50:11 标签: hql  语法  解释  休闲  职场 HQL查询 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员 ...

  9. 关于 IMCRA+OMLSA 语音降噪算法的详细解释

    关于 IMCRA+OMLSA 语音降噪算法的详细解释 概述 OMLSA 算法 IMCRA 算法 概述 IMCRA+OMLSA 算法及其一些变体是目前语音降噪中常用的算法.很多文献在解释这两种算法的时候 ...

  10. linux中ping命令详解,linux中的ping命令的详细解释

    linxu下的ping命令的主要功能就是确定网络状态,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的ping命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的 ...

最新文章

  1. 关于加密、签名、证书的作用及运用场景
  2. jsp定义一个变量在html,jsp中变量及方法的声明与使用说明
  3. php时间函数 1天,PHP函数第20款:两个时间相差的天数SubTime,不满1天按1天算
  4. (转)MySQL 线程池内幕
  5. Windows7 连接Windows Server服务器时提示:计算机无法连接到远程计算机上的另一个控制台会话。...
  6. 4.1 陷入不归路的调试-机器学习笔记-斯坦福吴恩达教授
  7. NYOJ15-括号匹配(二)-区间DP
  8. string中concat_JavaScript中带示例的String concat()方法
  9. python 示例_是Python中带有示例的关键字
  10. matlab案例_基于matlab和frost平台的cassie案例足式机器人运动学和动力学计算实现过程...
  11. linux内核实现片选跳变,《Linux内核设计与实现》读书笔记:进程调度
  12. RedHat系统安装nextcloud
  13. c语言怎样编写图形,「分享」C语言如何编写图形界面
  14. 详解IOS开发应用之并发Dispatch Queues
  15. logout退出功能是怎么实现的?login登陆功能室怎么实现的
  16. Dreamweaver CS6 完全自学教程 (一)
  17. 服务器显示htx插槽,华硕最新推出一系列服务器及主板解决方案
  18. vue学习日记(流水账
  19. Codeforces ~ 1009C ~ Annoying Present (贪心)
  20. 微信小程序如何制作?快捷方法有哪些?

热门文章

  1. 菜鸟上路-Web开发模式
  2. 模块化程序设计(多文件编程)介绍
  3. ZOJ 4067 Books (2018icpc青岛J) (贪心)
  4. LinkedList简要分析
  5. sql server 性能调优之 资源等待PAGEIOLATCH
  6. python学习笔记 day33 ftp大作业(未完成)
  7. Vue自定义插件方法大全
  8. ife2015 深度克隆题目
  9. Android 怎么使用Bitmap+Canvas 自适应屏幕
  10. InnoDB配置文件复习