详解pytorch中squeeze()和unsqueeze()函数介绍


Posted in Python onSeptember 03, 2020

squeeze的用法主要就是对数据的维度进行压缩或者解压。

先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的数去掉第一个维数为一的维度之后就变成(3)行。squeeze(a)就是将a中所有为1的维度删掉。不为1的维度没有影响。a.squeeze(N) 就是去掉a中指定的维数为一的维度。还有一种形式就是b=torch.squeeze(a,N) a中去掉指定的定的维数为一的维度。

再看torch.unsqueeze()这个函数主要是对数据维度进行扩充。给指定位置加上维数为一的维度,比如原本有个三行的数据(3),在0的位置加了一维就变成一行三列(1,3)。a.squeeze(N) 就是在a中指定位置N加上一个维数为1的维度。还有一种形式就是b=torch.squeeze(a,N) a就是在a中指定位置N加上一个维数为1的维度

一、unsqueeze()函数

1. 首先初始化一个a

详解pytorch中squeeze()和unsqueeze()函数介绍

可以看出a的维度为(2,3)

2. 在第二维增加一个维度,使其维度变为(2,1,3)

详解pytorch中squeeze()和unsqueeze()函数介绍

可以看出a的维度已经变为(2,1,3)了,同样如果需要在倒数第二个维度上增加一个维度,那么使用b.unsqueeze(-2)

二、squeeze()函数介绍

1. 首先得到一个维度为(1,2,3)的tensor(张量)

详解pytorch中squeeze()和unsqueeze()函数介绍

由图中可以看出c的维度为(1,2,3)

2.下面使用squeeze()函数将第一维去掉

详解pytorch中squeeze()和unsqueeze()函数介绍

可见,维度已经变为(2,3)

3.另外

详解pytorch中squeeze()和unsqueeze()函数介绍

可以看出维度并没有变化,仍然为(1,2,3),这是因为只有维度为1时才会去掉。

到此这篇关于详解pytorch中squeeze()和unsqueeze()函数介绍的文章就介绍到这了,更多相关pytorch中squeeze()和unsqueeze()内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的元类编程入门指引
Apr 15 Python
Python中利用sorted()函数排序的简单教程
Apr 27 Python
一步步解析Python斗牛游戏的概率
Feb 12 Python
Python 中 Virtualenv 和 pip 的简单用法详解
Aug 18 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 Python
Python补齐字符串长度的实例
Nov 15 Python
python小程序实现刷票功能详解
Jul 17 Python
python实现操作文件(文件夹)
Oct 31 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
python 贪心算法的实现
Sep 18 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 Python
Django实现微信小程序支付的示例代码
Sep 03 #Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 #Python
一篇文章搞懂python的转义字符及用法
Sep 03 #Python
容易被忽略的Python内置类型
Sep 03 #Python
python类共享变量操作
Sep 03 #Python
Python pip install之SSL异常处理操作
Sep 03 #Python
详解python tkinter 图片插入问题
Sep 03 #Python
You might like
一个域名查询的程序
2006/10/09 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
详解php中反射的应用
2016/03/15 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
htm调用JS代码
2007/03/15 Javascript
ext监听事件方法[初级篇]
2008/04/27 Javascript
jQuery 开天辟地入门篇一
2009/12/09 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
jquery选择器简述
2015/08/31 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
js module大战
2019/04/19 Javascript
python绘图库Matplotlib的安装
2014/07/03 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
python numpy实现rolling滚动案例
2020/06/08 Python
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
C#面试问题
2016/07/29 面试题
求职意向书范文
2014/04/01 职场文书
大学毕业生推荐信
2014/07/09 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
部队2014年终工作总结
2014/11/27 职场文书
超市店长竞聘书
2015/09/15 职场文书
go goth封装第三方认证库示例详解
2022/08/14 Golang