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 异常处理实例详解
Mar 12 Python
深入讲解Python编程中的字符串
Oct 14 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
Python读写zip压缩文件的方法
Aug 29 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
如何给Python代码进行加密
Jan 10 Python
windows、linux下打包Python3程序详细方法
Mar 17 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
python spilt()分隔字符串的实现示例
May 21 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数据缓存技术
2007/02/14 PHP
PHP Google的translate API代码
2008/12/10 PHP
php 缩略图实现函数代码
2011/06/23 PHP
关于IIS php调用com组件的权限问题
2012/01/11 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
python列表操作使用示例分享
2014/02/21 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Python新手学习raise用法
2020/06/03 Python
Python 实现集合Set的示例
2020/12/21 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
悬挂训练绳:TRX
2017/12/14 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
电脑租赁公司创业计划书
2014/01/08 职场文书
幼教毕业生自我鉴定
2014/01/12 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
导游词欢迎词
2015/02/02 职场文书
老干部座谈会主持词
2015/07/03 职场文书
施工安全协议书
2016/03/22 职场文书