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正则表达式的使用范例详解
Aug 08 Python
跟老齐学Python之正规地说一句话
Sep 28 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
微信跳一跳小游戏python脚本
Jan 05 Python
Python实现备份MySQL数据库的方法示例
Jan 11 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
对tensorflow中cifar-10文档的Read操作详解
Feb 10 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
Python上下文管理器Content Manager
Jun 26 Python
Python如何解决secure_filename对中文不支持问题
Jul 16 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
PHP实现抓取HTTPS内容
2014/12/01 PHP
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
javascript如何写热点图
2015/12/08 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
Python中运算符"=="和"is"的详解
2016/10/08 Python
python中的常量和变量代码详解
2018/07/25 Python
在Python中增加和插入元素的示例
2018/11/01 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
python利用opencv实现SIFT特征提取与匹配
2020/03/05 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
pymongo insert_many 批量插入的实例
2020/12/05 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
工作迟到检讨书
2014/02/21 职场文书
财务整改报告范文
2014/11/05 职场文书
个人维稳承诺书
2015/05/04 职场文书
毕业生学校组织意见
2015/06/04 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
Redis可视化客户端小结
2021/06/10 Redis
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技