Pytorch 扩展Tensor维度、压缩Tensor维度的方法


Posted in Python onSeptember 09, 2020

1. 扩展Tensor维度

相信刚接触Pytorch的宝宝们,会遇到这样一个问题,输入的数据维度和实验需要维度不一致,输入的可能是2维数据或3维数据,实验需要用到3维或4维数据,那么我们需要扩展这个维度。其实特别简单,只要对数据加一个扩展维度方法就可以了。

1.1torch.unsqueeze(self: Tensor, dim: _int)

torch.unsqueeze(self: Tensor, dim: _int)

参数说明:self:输入的tensor数据,dim:要对哪个维度扩展就输入那个维度的整数,可以输入0,1,2……

1.2Code

第一种方式,输入数据后直接加unsqueeze()

扩展第一维和第二维为1

import torch


def reset_unsqueeze1():
 data = torch.rand([3, 3])
 data1 = data.unsqueeze(dim=0).unsqueeze(dim=1)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

第二种方式,用torch.unsqueeze()

import torch


def reset_unsqueeze2():
 data = torch.rand([3, 3])
 data1 = torch.unsqueeze(data, dim=0)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

2. 压缩Tensor维度

2.1torch.squeeze(self: Tensor, dim: _int)

这个方法刚好和torch.unsqueeze()方法效果相反,压缩Tensor维度。

2.2 Code

第一种方式,输入数据后直接加squeeze()

import torch


def reset_squeeze1():
 data = torch.rand([1, 1, 3, 3])
 data1 = data.squeeze(dim=0).squeeze(dim=1)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

第二种方式,用torch.squeeze()

import torch


def reset_squeeze2():
 data = torch.rand([1, 1, 3, 3])
 data1 = torch.squeeze(data, dim=0)
 print("data_size: ", data.shape)
 print("data: ", data)
 print("data1_size: ", data1.shape)
 print("data1: ", data1)

结果显示

Pytorch 扩展Tensor维度、压缩Tensor维度的方法

到此这篇关于Pytorch 扩展Tensor维度、压缩Tensor维度的方法的文章就介绍到这了,更多相关Pytorch 扩展Tensor维度、压缩Tensor维度内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python模块学习 re 正则表达式
May 19 Python
Python实现冒泡,插入,选择排序简单实例
Aug 18 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
python实现感知器
Dec 19 Python
python中abs&map&reduce简介
Feb 20 Python
python爬虫爬取淘宝商品信息
Feb 23 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
Apr 25 Python
一看就懂得Python的math模块
Oct 21 Python
Python基本socket通信控制操作示例
Jan 30 Python
Python3如何使用tabulate打印数据
Sep 25 Python
pycharm配置安装autopep8自动规范代码的实现
Mar 02 Python
pandas 实现将NaN转换为None
May 14 Python
Python列表推导式实现代码实例
Sep 09 #Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 #Python
pytorch使用horovod多gpu训练的实现
Sep 09 #Python
python,Java,JavaScript实现indexOf
Sep 09 #Python
python 5个顶级异步框架推荐
Sep 09 #Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 #Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 #Python
You might like
PHP脚本数据库功能详解(下)
2006/10/09 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
jquery获取input的value问题说明
2010/08/19 Javascript
js选项卡的实现方法
2015/02/09 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
Node.js实现数据推送
2016/04/14 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
vue实现信息管理系统
2020/05/30 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
python基于socket实现网络广播的方法
2015/04/29 Python
在Django框架中运行Python应用全攻略
2015/07/17 Python
python的else子句使用指南
2016/02/27 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
退休感言
2014/01/28 职场文书
音乐器材管理制度
2014/01/31 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
文艺晚会主持词
2014/03/24 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
Python数据分析之pandas读取数据
2021/06/02 Python