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 相关文章推荐
phpsir 开发 一个检测百度关键字网站排名的python 程序
Sep 17 Python
Python中unittest模块做UT(单元测试)使用实例
Jun 12 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
如何关掉pycharm中的python console(图解)
Oct 31 Python
python保留小数位的三种实现方法
Jan 07 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
Python中如何引入第三方模块
May 27 Python
浅谈Python协程
Jun 17 Python
Python开发简易五子棋小游戏
May 02 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
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
PHP crc32()函数讲解
2019/02/14 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
python错误处理详解
2014/09/28 Python
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
学生发电厂实习自我鉴定
2013/09/22 职场文书
音乐表演专业毕业生求职信
2013/10/14 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
培训协议书范本
2014/04/22 职场文书
住房抵押登记委托书
2014/09/27 职场文书
城管个人总结
2015/02/28 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle