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通过BF算法实现关键词匹配的方法
Mar 13 Python
详解Python编程中time模块的使用
Nov 20 Python
python常见排序算法基础教程
Apr 13 Python
Python排序搜索基本算法之插入排序实例分析
Dec 11 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
Python中新式类与经典类的区别详析
Jul 10 Python
Python笔记之观察者模式
Nov 20 Python
Python如何使用字符打印照片
Jan 03 Python
Python如何脚本过滤文件中的注释
May 27 Python
解析python 类方法、对象方法、静态方法
Aug 15 Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 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中使用接口实现工厂设计模式的代码
2012/06/17 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
一些不错的js函数ajax
2008/08/20 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
使用tensorflow实现线性回归
2018/09/08 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python安装OpenCV的示例代码
2020/03/05 Python
python实现交并比IOU教程
2020/04/16 Python
Django之腾讯云短信的实现
2020/06/12 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
党员干部承诺书
2014/03/25 职场文书
我的祖国演讲稿
2014/05/04 职场文书
文秘自荐信
2014/06/28 职场文书
营销计划书
2015/01/17 职场文书
2016公司年会通知范文
2015/04/25 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis