pytorch 改变tensor尺寸的实现


Posted in Python onJanuary 03, 2020

改变Tensor尺寸的操作

1.tensor.view

tensor.view方法,可以调整tensor的形状,但必须保证调整前后元素总数一致。view不会改变自身数据,返回的新的tensor与源tensor共享内存,即更改其中一个,另外一个也会跟着改变。

例:

In: import torch as t
   a = t.arange(0, 6)
   a.view(2, 3)
Out:tensor([[0, 1, 2],
    [3, 4, 5]])

In: b = a.view(-1, 3)#当某一维为-1的时候,会自动计算它的大小
Out:tensor([[0, 1, 2],
    [3, 4, 5]])

2.tensor.unsqueeze 和 tensor.squeeze

tensor.unsqueeze 和 tensor.squeeze分别用于增加或减少tensor的某一维度。

例:

In: b.unsqueeze(1)#注意形状, 在第1维(下标从0开始)上增加“1”
Out:tensor([[[0, 1, 2]],
    [[3, 4, 5]]])
    
In: b.unsqueeze(-2) #-2表示倒数第二个维度
Out:tensor([[[0, 1, 2]],
    [[3, 4, 5]]])
    
In: c = b.view(1, 1, 1, 2, 3)
   c.unsqueeze(0)#压缩第0维的“1”
Out:tensor([[[[[[0, 1, 2],
      [3, 4, 5]]]]]])
      
In: c.squeeze() #把所有维度为“1”的压缩
Out:tensor([[0, 1, 2],
    [3, 4, 5]])
    
In:a[1] = 100
  b #a和b共享内存,修改了a,b也变了
Out:tensor([[ 0, 100,  2],
    [ 3,  4,  5]])

3.tensor.resize

tensor.resize是另外一种可以调整tensor尺寸的方法,但与view不同,它可以修改tensor的尺寸。如果新尺寸超过了原尺寸,会自动分配新的内存空间;如果新尺寸小于原尺寸,则之前的数据依旧会保存

例:

In: b.resize_(1, 3)
Out:tensor([[ 0, 100,  2]])

In: b.resize_(3, 3)#旧的数据依旧保存着,多出的数据会分配新空间
Out:tensor([[         0,         100,          2],
    [         3,          4,          5],
    [         0,          0, 2323344073926471279]])

以上这篇pytorch 改变tensor尺寸的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python求两个list的差集、交集与并集的方法
Nov 01 Python
深入解析Python中的lambda表达式的用法
Aug 28 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
Jun 16 Python
python构建深度神经网络(续)
Mar 10 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
Python 过滤错误log并导出的实例
Dec 26 Python
pytorch ImageFolder的覆写实例
Feb 20 Python
Django Xadmin多对多字段过滤实例
Apr 07 Python
python中执行smtplib失败的处理方法
Jul 01 Python
python开发的自动化运维工具ansible详解
Aug 07 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
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
Jan 03 #Python
pytorch AvgPool2d函数使用详解
Jan 03 #Python
You might like
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
JavaScript 字符编码规则
2009/05/04 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
python绘制双柱形图代码实例
2017/12/14 Python
查看python下OpenCV版本的方法
2018/08/03 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
python读取并写入mat文件的方法
2019/07/12 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
专业技术职务聘任书
2014/03/29 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
先进基层党组织材料
2014/12/25 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
会计工作检讨书
2015/02/19 职场文书
工作态度不好检讨书
2015/05/06 职场文书
5道关于python基础 while循环练习题
2021/11/27 Python
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS