1.unqueeze-指定dim添加一个维度

import torch
# 创建一个3X3的tensor
a = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
a.shape

torch.Size([3, 3])

# dim的范围在[-input.dim() - 1, input.dim() + 1), 左闭右开区间,如果dim是负数,dim = dim + input.dim() + 1.b0 = a.unsqueeze(0) # 相当于:a.unsqueeze(-3)  # dim = -3 + 2 + 1 =0
b1 = a.unsqueeze(1) # 相当于:a.unsqueeze(-2)  # dim = -2 + 2 + 1 =1
b2 = a.unsqueeze(2) # 相当于:a.unsqueeze(-1) # dim = -1 + 2 + 1 =2b0.shape, b1.shape, b2.shape

(torch.Size([1, 3, 3]), torch.Size([3, 1, 3]), torch.Size([3, 3, 1]))

2.squeeze-指定dim减少一个维度

# 我们再给所有b*的dim=1加一个维度
b00 = b0.unsqueeze(1)
b11 = b1.unsqueeze(1)
b22 = b2.unsqueeze(1) b00.shape, b11.shape, b22.shape,

(torch.Size([1, 1, 3, 3]), torch.Size([3, 1, 1, 3]), torch.Size([3, 1, 3, 1]))

# dim为空时, 去除所有为1的维度
c0 = b00.squeeze()
c1 = b11.squeeze()
c2 = b22.squeeze()c0.shape, c1.shape, c2.shape

(torch.Size([3, 3]), torch.Size([3, 3]), torch.Size([3, 3]))

# dim为不为空时, 去除指定的dim=1的维度
# 以 b22(torch.Size([3, 1, 3, 1]))) 为例
d0 = b22.squeeze(0)  # 不变
d1 = b22.squeeze(1)  #  维度减少
d2 = b22.squeeze(2)  # 不变
d3 = b22.squeeze(3)  #  维度减少
d4 = b22.squeeze(-3)
d0.shape, d1.shape, d2.shape, d3.shape, d4.shape

(torch.Size([3, 1, 3, 1]),
torch.Size([3, 3, 1]),
torch.Size([3, 1, 3, 1]),
torch.Size([3, 1, 3]),
torch.Size([3, 3, 1]))

>>> x = torch.zeros(2, 1, 2, 1, 2)
>>> x.size()
torch.Size([2, 1, 2, 1, 2])
>>> y = torch.squeeze(x)
>>> y.size()
torch.Size([2, 2, 2])
>>> y = torch.squeeze(x, 0)
>>> y.size()
torch.Size([2, 1, 2, 1, 2])
>>> y = torch.squeeze(x, 1)
>>> y.size()
torch.Size([2, 2, 1, 2])

squeeze和unsqueeze相关推荐

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

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

  2. torch.squeeze()和unsqueeze()

    torch.squeeze()和unsqueeze() unsqueeze() 函数功能:与squeeze()函数功能相反,用于添加维度. queeze() 函数功能:去除size为1的维度,包括行和 ...

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

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

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

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

  5. 【Pytorch】tensor类型数据.squeeze()和.unsqueeze()函数的简明教程(一看就会)

    文章目录 1 squeeze 1.1 1.2 1.3 执行操作后需要写回 2 unsqueeze pytorch系列代码中常见的两个函数squeeze()和unsqueeze() 1 squeeze ...

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

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

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

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

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

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

  9. pytorch中的squeeze和unsqueeze

    squeeze:压缩,要减少维度. unsqueeze:解压缩,要增加维度. torch.squeeze(input),那么会把input中所有维度长度为1的维度去掉. torch.squeeze(i ...

  10. Pytorch squeeze() 和 unsqueeze() 方法区别

    1 增加维度 unsqueeze() tensor = tensor.unsqueeze(0) 2 减少维度 squeeze() tensor = tensor.squeeze(0)

最新文章

  1. 一款免费好用的正则表达式工具:Regex Match Tracer
  2. 上海浦发银行总行信息科技部大数据专家陈春宝:大数据与机器学习重塑零售银行业务...
  3. [转载]VS2005中ifstream不能读中文路径文件的bug
  4. questasim linux安装包,Ubuntu16.04下Questasim10.7安装(64bit)全攻略
  5. Android4.0添加java层服务
  6. 实用小技巧(一):UIScrollView中上下左右滚动方向的判断
  7. this指针 java_彻底理解Java中this指针
  8. Google Analytics 搜索引擎来源
  9. mongodb 创建数据库权限账号,增删改查(基本操作)
  10. mysql各存储引擎介绍表格_十六、MySQL基础系列笔记之数据表存储引擎的介绍
  11. idea的NoClassDefFoundError的情况
  12. 计算机专业杭州申请公租房有,2018年第四批公租房配租方案及参加摇号名单出炉!报名状况查询方式在此!...
  13. HASH SEMI JOIN (semi join) 比 hash join 快!
  14. hashTabel List 和 dic
  15. 【C++·C11】C++ 时间与时间戳
  16. [转载] 中华典故故事(孙刚)——26 叫了王承恩
  17. Android NDK开发配置NDK
  18. PHP7安装redis扩展 Star.Hou
  19. 马里兰大学 计算机视觉,马里兰大学信息系统排名2019年
  20. 如何通过安防网络设备的EHOME协议把设备接入EasyCVR平台,进行互联网直播及分发?

热门文章

  1. java中集合的分割
  2. 根据字幕剪辑视频的软件
  3. c语言中的sched头文件,使用sched库完成周期定时任务
  4. Nginx查看、隐藏和修改版本号
  5. 对Unity Mesh的理解
  6. 易语言中findwindowEx的用法
  7. 火山PC调试器使用【博客教程】
  8. 生成模型笔记(六):生成模型
  9. oracle11g报错ora12505,解决oracle11g的ORA-12505问题
  10. lrz:图片压缩上传