pytorch中torch.max和Tensor.view函数用法详解


Posted in Python onJanuary 03, 2020

torch.max()

1.

torch.max()简单来说是返回一个tensor中的最大值。

例如:

>>> si=torch.randn(4,5)
>>> print(si)
tensor([[ 1.1659, -1.5195, 0.0455, 1.7610, -0.2064],
    [-0.3443, 2.0483, 0.6303, 0.9475, 0.4364],
    [-1.5268, -1.0833, 1.6847, 0.0145, -0.2088],
    [-0.8681, 0.1516, -0.7764, 0.8244, -1.2194]])

>>> print(torch.max(si))
tensor(2.0483)

2.

这个函数的参数中还有一个dim参数,使用方法为re = torch.max(Tensor,dim),返回的re为一个二维向量,其中re[0]为最大值的Tensor,re[1]为最大值对应的index的Tensor。

例如:

>>> print(torch.max(si,0)[0])
tensor([1.1659, 2.0483, 1.6847, 1.7610, 0.4364])

注意,Tensor的维度从0开始算起。在torch.max()中指定了dim之后,比如对于一个3x4x5的Tensor,指定dim为0后,得到的结果是维度为0的“每一行”对应位置求最大的那个值,此时输出的Tensor的维度是4x5.

对于简单的二维Tensor,如上面例子的这个4x5的Tensor。指定dim为0,则给出的结果是4行做比较之后的最大值;如果指定dim为1,则给出的结果是5列做比较之后的最大值,且此处做比较时是按照位置分别做比较,得到一个新的Tensor。

Tensor.view()

简单说就是一个把tensor 进行reshape的操作。

>>> a=torch.randn(3,4,5,7)
>>> b = a.view(1,-1)
>>> print(b.size())
torch.Size([1, 420])

其中参数-1表示剩下的值的个数一起构成一个维度。如上例中,第一个参数1将第一个维度的大小设定成1,后一个-1就是说第二个维度的大小=元素总数目/第一个维度的大小,此例中为3*4*5*7/1=420.

>>> d = a.view(a.size(0),a.size(1),-1)
>>> print(d.size())
torch.Size([3, 4, 35])

 

>>> e=a.view(4,-1,5)
>>> print(e.size())
torch.Size([4, 21, 5])

以上这篇pytorch中torch.max和Tensor.view函数用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python tkinter教程-事件绑定
Mar 28 Python
Python3.8中使用f-strings调试
May 22 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
Numpy的简单用法小结
Aug 28 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
Mar 10 Python
python hmac模块验证客户端的合法性
Nov 07 Python
python中的插入排序的简单用法
Jan 19 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 Python
Python编写nmap扫描工具
Jul 21 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 Python
pytorch逐元素比较tensor大小实例
Jan 03 #Python
pytorch 改变tensor尺寸的实现
Jan 03 #Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 #Python
CentOS7下安装python3.6.8的教程详解
Jan 03 #Python
Python实现大数据收集至excel的思路详解
Jan 03 #Python
Python如何基于rsa模块实现非对称加密与解密
Jan 03 #Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 #Python
You might like
PHP中对数据库操作的封装
2006/10/09 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
工作中个人的自我评价
2013/12/31 职场文书
市场营销个人求职信范文
2014/02/02 职场文书
《中华少年》教学反思
2014/02/15 职场文书
英语教师求职信
2014/06/16 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书