squeeze:压缩,要减少维度。
unsqueeze:解压缩,要增加维度。
torch.squeeze(input),那么会把input中所有维度长度为1的维度去掉。
torch.squeeze(input,dim=1),那么在给定dim的情况下,就只去掉dim这个维度,其他维度还保留。

import torch
x = torch.rand(5,3)
x = x.squeeze(1)

tensor([[0.0621, 0.2074, 0.5420],
[0.5897, 0.3664, 0.4387],
[0.0115, 0.3464, 0.0702],
[0.7800, 0.4727, 0.1952],
[0.6879, 0.8595, 0.3933]])
这时候x的形状还是5行3列。因为没有哪个维度的长度为1。

x = x.unsqueeze(1)
tensor([[[0.0621, 0.2074, 0.5420]],[[0.5897, 0.3664, 0.4387]],[[0.0115, 0.3464, 0.0702]],[[0.7800, 0.4727, 0.1952]],[[0.6879, 0.8595, 0.3933]]])

那么x的形状是(5,1,3),有5个块,每个块是1行3列。

对于unsquueze来讲,维度可以比原有维度高1。例如最开始x的形状是(5,3)。可以如下操作。

import torch
x = torch.rand(5,3)
x = x.unsqueeze(2)
tensor([[[0.3757],[0.8054],[0.0250]],[[0.9423],[0.5109],[0.2437]],[[0.6276],[0.4251],[0.3276]],[[0.6699],[0.0768],[0.3541]],[[0.6123],[0.0268],[0.4193]]])

那么得到的tensor形状是(5,3,1)。

还是看你想要什么样的形状。

pytorch中的squeeze和unsqueeze相关推荐

  1. pytorch中的squeeze和unsqueeze的用法小结

    文章目录 1. 理论简介 2. 举例 2.1 squeeze (1)x.squeeze() (2)x.squeeze(n) (3)torch.squeeze(x) 2.2 unsqueeze (1)x ...

  2. PyTorch中的squeeze()和unsqueeze()详解与应用案例

    文章目录 1.torch.squeeze 2.torch.unsqueeze 3.给一个使用上述两个函数,并进行一次卷积的例子 附上官网地址: https://pytorch.org/docs/sta ...

  3. pytorch中的squeeze和unsqueeze函数的使用

    应用场景:当我们进行深度学习使用Image函数导入图片时,默认它的维度为[C, H, W],此时根据模型的需要导入batch这一维度. 部分程序 # 导入要测试的图像(自己找的,不在数据集中),放在源 ...

  4. Pytorch view()、squeeze()、unsqueeze()、torch.max()

    本篇博客主要向大家介绍Pytorch中view().squeeze().unsqueeze().torch.max()函数,这些函数虽然简单,但是在 神经网络编程总却经常用到,希望大家看了这篇博文能够 ...

  5. 【增减维度】numpy和torch中的squeeze、unsqueeze理解

    文章目录 1 为何要增减维度 2 numpy中的squeeze 函数 3 torch中的squeeze 函数 4 torch中的unsqueeze 函数 1 为何要增减维度 神经网络conv2d的输入 ...

  6. PyTorch中为什么需要使用squeeze()和unsqueeze()操作?

    1 问题描述 今天在学习FaceBoxes~ 在看到模型推理部分的代码时,总会出现squeeze()和unsqueeze()操作,从网上的资料上来看,就是升维和降维的操作,但是为什么需要进行这样的操作 ...

  7. python中squeeze函数_详解pytorch中squeeze()和unsqueeze()函数介绍

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  8. pytorch中squeeze()与unsqueeze()的用法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.pytorch中的数据维度 二.squeeze()与unsqueeze()用法 1.squeeze() 2.unsque ...

  9. PyTorch中squeeze()和unsqueeze()详解

    pytorch中squeeze()和unsqueeze()作用 squeeze() squeeze() 用于在张量的指定维度插入新的维度 (为1) 得到维度提升的张量. unsqueeze() uns ...

最新文章

  1. Docker无法修改devicemapper(四)
  2. Hibernate中自动生成数据库表的两种方式
  3. 弹性地基梁板法计算原理_建筑混凝土结构设计和计算方法,老师傅总结:其原理就是这么简单...
  4. 【Python金融量化 5- 100 】、五、蒙特卡洛和毛利
  5. 【最贴心】C++字符串转换(stoi;stol;stoul;stoll;stoull;stof;stod;stold)
  6. Java——集合的基本功能测试
  7. C语言异常处理之 setjmp()和longjmp()
  8. 从0到1开发自动化测试框架(硬货太多,建议阅读)
  9. SVN下载及其安装配置
  10. Win11快捷键大全
  11. 视频截取软件哪个好用?免费的视频截取软件分享
  12. Oracle获取两时间的相差天数
  13. 【OS笔记 9】操作系统内核的功能
  14. Uc页面加载完毕后页面字体变大
  15. 蒟蒻的网络流24题解题记
  16. CUDA实现focal_loss
  17. 小红书去水印源码算法
  18. 免费的python编辑器_免的解释|免的意思|汉典“免”字的基本解释
  19. html中,将字符串对象数组转成对象数组
  20. 国产台灯哪个品牌比较好?2023分享国内护眼灯排名

热门文章

  1. 表单提交中的input、button、submit的区别
  2. VMware 报错“Intel VT-x处于禁止状态”
  3. mysql 删除记录代码_mysql 删除记录时报错
  4. JavaScript计算两个日期相差天数/分钟/小时
  5. MyEclipse2015双击不能打开文件
  6. HttpURLConnection, Android访问网络,实用demo
  7. Netcdf对数据进行裁剪
  8. 软件测试是找BUG,不是找茬
  9. centos8安装中文(zh_CN)语言包
  10. C#关键字(79个)