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字符串连接的N种方式总结
Sep 17 Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
一看就懂得Python的math模块
Oct 21 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
jupyter lab文件导出/下载方式
Apr 22 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
Django Model中字段(field)的各种选项说明
May 19 Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 Python
如何让PyQt5中QWebEngineView与JavaScript交互
Oct 21 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 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使用mkdir创建多级目录入门例子
2014/05/10 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
详细讲解vue2+vuex+axios
2017/05/27 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
在python的类中动态添加属性与生成对象
2016/09/17 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
python的flask框架难学吗
2020/07/31 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
Java基础知识面试题
2014/03/25 面试题
超市促销实习自我鉴定
2013/09/23 职场文书
大学生学业生涯规划
2014/01/05 职场文书
采购部部长岗位职责
2014/02/06 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书