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程序员面试中被问的最多的10道题
Dec 05 Python
关于python写入文件自动换行的问题
Jun 23 Python
kaggle+mnist实现手写字体识别
Jul 26 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
python爬取网易云音乐评论
Nov 16 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
Python发展简史 Python来历
May 14 Python
python简单的三元一次方程求解实例
Apr 02 Python
python中执行smtplib失败的处理方法
Jul 01 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 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静态变量当缓存的方法
2013/11/13 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
php ImageMagick windows下安装教程
2015/01/26 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Django 解决开发自定义抛出异常的问题
2020/05/21 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
商超业务员岗位职责
2015/02/13 职场文书
聘任证明怎么写
2015/03/02 职场文书
抢劫罪辩护词
2015/05/21 职场文书
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL
app场景下uniapp的扫码记录
2022/07/23 Java/Android