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+Splinter实现12306抢票功能
Sep 25 Python
Python Flask框架模板操作实例分析
May 03 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 Python
windows环境中利用celery实现简单任务队列过程解析
Nov 29 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
python实现Pyecharts实现动态地图(Map、Geo)
Mar 25 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
python文件编写好后如何实践
Jul 07 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
Nov 29 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 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
简述php环境搭建与配置
2016/12/05 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
HTML中不支持静态Expando的元素的问题
2007/03/08 Javascript
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
JQuery实现展开关闭层的方法
2015/02/17 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
Django中间件基础用法详解
2019/07/18 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
python标准库os库的函数介绍
2020/02/12 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
一道Delphi上机题
2012/06/04 面试题
高二历史教学反思
2014/01/25 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
Mysql基础之常见函数
2021/04/22 MySQL