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通过递归遍历出集合中所有元素的方法
Feb 25 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
python之文件读取一行一行的方法
Jul 12 Python
对python添加模块路径的三种方法总结
Oct 16 Python
Python模块汇总(常用第三方库)
Oct 07 Python
Python 脚本的三种执行方式小结
Dec 21 Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 Python
python环境下安装opencv库的方法
Mar 05 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 Python
python代码如何注释
Jun 01 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 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
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
php自动注册登录验证机制实现代码
2011/12/20 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
2013/07/08 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
javascript self对象使用详解
2016/10/18 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
Python对列表中的各项进行关联详解
2017/08/15 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
python实现教务管理系统
2018/03/12 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
python PIL模块的基本使用
2020/09/29 Python
生态学毕业生自荐信
2013/10/27 职场文书
大学生党员自我批评
2014/02/14 职场文书
教育专业毕业生推荐信
2014/07/10 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
父亲节活动总结
2015/02/12 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
方法汇总:Python 安装第三方库常用
2022/04/26 Python