pytorch.max()的详细解释
网上大多数对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]))
这个计算过程是:
- a[dim][0],dim会从0遍历到2,也就是[1,2,2],得到第一个最大值2,index为1
- a[dim][1],对[5,6,65],最大值为65,index为2
- …
- 最终得到上图结果
dim = 1
torch.max(a, 1)
torch.return_types.max(
values=tensor([62, 6, 65]),
indices=tensor([2, 1, 1]))
这个计算过程是:
- a[0][dim],dim会从0遍历到3,也就是[1,5,62,54],得到第一个最大值62,index为2
- a[1][dim],对[2,6,2,6],最大值为6,index为1
- …
- 最终得到上图结果
三维数据详述
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]]))
计算过程:
- a[dim][0][0],dim会从0遍历到2,其他维数值不变,也就是[1,5,9],得到第一个最大值9,index为2
- a[dim][0][1],dim会从0遍历到2,其他维数值不变,对[2,6,0]遍历,最大值为6,index为1
- a[dim][1][0],dim会从0遍历到2,其他维数值不变,对[13,27,11]遍历,最大值为27,index为1
- a[dim][1][1],dim会从0遍历到2,其他维数值不变,对[13,27,11]遍历,最大值为27,index为1
- 最终得到上面结果
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]]))
计算过程:
- a[0][dim][0],dim会从0遍历到1,其他维数值不变,也就是[1,13],得到第一个最大值13,index为1
- a[0][dim][1],dim会从0遍历到1,其他维数值不变,对[2,4]遍历,最大值为4,index为1
- a[1][dim][0],dim会从0遍历到1,其他维数值不变,对[5,27]遍历,最大值为27,index为1
- a[1][dim][1],dim会从0遍历到1,其他维数值不变,对[6,8]遍历,最大值为8,index为1
- …
- 最终得到上面结果
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]]))
计算过程:
- a[0][0][dim],dim会从0遍历到1,其他维数值不变,也就是[1,2],得到第一个最大值2,index为1
- a[0][1][dim],dim会从0遍历到1,其他维数值不变,对[13,4]遍历,最大值为13,index为0
- a[1][0][dim],dim会从0遍历到1,其他维数值不变,对[5,6]遍历,最大值为6,index为1
- a[1][1][dim],dim会从0遍历到1,其他维数值不变,对[27,8]遍历,最大值为27,index为1
- …
- 最终得到上面结果
pytorch.max()的详细解释相关推荐
- PointNet代码详细解释(Pytorch版本)
pointnet.pytorch的代码详细解释 1. PointNet的Pytorch版本代码解析链接 2. 代码解释 2.1 代码结构思维导图 2.2 代码注释 2.2.1 build.sh 2.2 ...
- Python精讲Numpy基础,大牛笔记详细解释
https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...
- matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释
总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等, ...
- 吴恩达机器学习 神经网络 作业1(用已经求好的权重进行手写数字分类) Python实现 代码详细解释
整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...
- 吴恩达机器学习 逻辑回归 作业3(手写数字分类) Python实现 代码详细解释
整个项目的github:https://github.com/RobinLuoNanjing/MachineLearning_Ng_Python 里面可以下载进行代码实现的数据集 题目介绍: In t ...
- pythonnumpy详解_Python精讲Numpy基础,大牛笔记详细解释
以前总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门 ...
- 杭电2159-FATE (二维背包运用+详细解释)
FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- hql 语法与详细解释
hql 语法与详细解释 2010-08-26 11:50:11 标签: hql 语法 解释 休闲 职场 HQL查询 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员 ...
- 关于 IMCRA+OMLSA 语音降噪算法的详细解释
关于 IMCRA+OMLSA 语音降噪算法的详细解释 概述 OMLSA 算法 IMCRA 算法 概述 IMCRA+OMLSA 算法及其一些变体是目前语音降噪中常用的算法.很多文献在解释这两种算法的时候 ...
- linux中ping命令详解,linux中的ping命令的详细解释
linxu下的ping命令的主要功能就是确定网络状态,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的ping命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的 ...
最新文章
- 关于加密、签名、证书的作用及运用场景
- jsp定义一个变量在html,jsp中变量及方法的声明与使用说明
- php时间函数 1天,PHP函数第20款:两个时间相差的天数SubTime,不满1天按1天算
- (转)MySQL 线程池内幕
- Windows7 连接Windows Server服务器时提示:计算机无法连接到远程计算机上的另一个控制台会话。...
- 4.1 陷入不归路的调试-机器学习笔记-斯坦福吴恩达教授
- NYOJ15-括号匹配(二)-区间DP
- string中concat_JavaScript中带示例的String concat()方法
- python 示例_是Python中带有示例的关键字
- matlab案例_基于matlab和frost平台的cassie案例足式机器人运动学和动力学计算实现过程...
- linux内核实现片选跳变,《Linux内核设计与实现》读书笔记:进程调度
- RedHat系统安装nextcloud
- c语言怎样编写图形,「分享」C语言如何编写图形界面
- 详解IOS开发应用之并发Dispatch Queues
- logout退出功能是怎么实现的?login登陆功能室怎么实现的
- Dreamweaver CS6 完全自学教程 (一)
- 服务器显示htx插槽,华硕最新推出一系列服务器及主板解决方案
- vue学习日记(流水账
- Codeforces ~ 1009C ~ Annoying Present (贪心)
- 微信小程序如何制作?快捷方法有哪些?