文章目录

  • 1 squeeze
    • 1.1
    • 1.2
    • 1.3 执行操作后需要写回
  • 2 unsqueeze

pytorch系列代码中常见的两个函数squeeze()和unsqueeze()

1 squeeze

1.1

import torch
x=torch.randn(2,1,2)       #生成一个维度是(2,1,2)的tensor向量
print(x.shape)              #torch.Size([2, 1, 2])
x=x.squeeze()              #参数为空,表示删除tensor元素的所有维度为1的维度,这里的x只有第二个维度是1,所以执行该操作后,第二个维度会被删除剩下:(2,2)
print(x.shape)              #torch.Size([2, 2])
x=x.squeeze()              #没有维度为1的维度了,所以x的维度保持原样
print(x.shape)              #torch.Size([2, 2])

1.2

import torch
x=torch.randn(2,1,2)       #生成一个维度是(2,1,2)的tensor向量
print(x.shape)              #torch.Size([2, 1, 2])
x=x.squeeze(0)             #参数为0,表示如果第0个维度是1维,则删除第0个维度,这里的x只有第1个维度是1,所以执行该操作后,第0个维度不会被删除,x元素的维度依然是(2,1,2)
print(x.shape)              #torch.Size([2, 1, 2])
x=x.squeeze(1)             #参数为1,表示如果第1个维度是1维,则删除第1个维度,所以执行该操作后,第1个维度会被删除,x元素的维度变成是(2,2)
print(x.shape)              #torch.Size([2, 2])

1.3 执行操作后需要写回

import torch
x=torch.randn(2,1,2)       #生成一个维度是(2,1,2)的tensor向量
print(x.shape)              #torch.Size([2, 1, 2])
x.squeeze()                 #参数为空,表示删除tensor元素的所有维度为1的维度,这里的x只有第二个维度是1,所以执行该操作后,第二个维度会被删除剩下:(2,2),但是!!!这里对x执行squeeze()操作的结果是返回的,并没有写入原数据空间x,即修改的内容没有保存下来,需要执行x=x.squeeze()才可以
print(x.shape)              #torch.Size([2, 1, 2])

2 unsqueeze

import torch
y=torch.randn(2,1,2)
print(y.shape)          #torch.Size([2, 1, 2])
y=y.unsqueeze(0)       #在第0维,增加一个维度是1的维度
print(y.shape)          #torch.Size([1, 2, 1, 2])

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

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

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

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

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

  3. 【学习笔记】pytorch中squeeze()和unsqueeze()函数介绍

    一.unsqueeze()函数 1. 首先初始化一个a 可以看出a的维度为(2,3) 2. 在第二维增加一个维度,使其维度变为(2,1,3) 可以看出a的维度已经变为(2,1,3)了,同样如果需要在倒 ...

  4. pytorch 中 squeeze 和unsqueeze函数

    1. torch.squeeze() 函数 : 作用:移除指定或所有维数为1的维度,从而得到维度减少的张量 解释一下: x=torch.zeros(5,1,1,1)print(x)'输出' tenso ...

  5. python编写字符串查找函数_Python 简明教程 --- 8,Python 字符串函数

    好代码本身就是最好的文档.当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释. -- Steve McConnell 目录 字符串有很多操作函数,所以,这里我们专门用一节来介绍这些函数. 建 ...

  6. Pytorch:squeeze()和unsqueeze()函数

    squeeze(): 维度压缩,去掉维数为1的的维度 torch.squeeze(input, dim=None, out=None) 将输入张量形状中的1 去除并返回. 如果输入是形如(2×1×2× ...

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

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

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

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

  9. Python-squeeze()、unsqueeze()函数的理解

    目录 1. 降维torch.squeeze(input, dim=None, out=None) 简单示例 matplotlib画图示例 2.增维 torch.unsqueeze(input, dim ...

最新文章

  1. Keepalived全局配置
  2. replugin源码解析之replugin-plugin-gradle(插件的gradle插件)
  3. 响应QML中的用户输入
  4. 一个select元素自定义设计的新思路:appearance: none之后利用符号制造小箭头
  5. 巨一自动化工业机器人_工业机器人和自动化设备连接器
  6. html固定悬浮窗效果,js 固定悬浮效果实现思路代码
  7. android 时间
  8. Wacom发布Cintiq Companion 2
  9. PIC单片机学习-中断
  10. SEO_关键词研究工具
  11. echarts 饼图 将数据显示在图例的旁边
  12. 简易智能自动问答机器人
  13. atomic java_Java中Atomic类的使用分析
  14. 同城容灾、异地容灾、 双活 数据中心、 两地三中心的区别
  15. FCN(全卷积网络)部分函数方法更新说明
  16. 想要制作好看的壁纸,有CorelDRAW就够啦
  17. marvin框架_告别开源先驱Marvin Minsky
  18. 167 The Sultan's Successors
  19. linux 重建ext4分区表,Linux 格式化U盘为ext4格式以及修复分区表方法
  20. hp打印机无法与计算机,电脑无法连接HP打印机怎么办?

热门文章

  1. 6阶群的非平凡子群_当|G|=8时,群lt;G,*gt;只能有?阶非平凡子群,不能有?阶子群,平凡子群为?...
  2. Android支付接入
  3. USB转串口芯片 FT232RL/CH9101/PL2303/CY7C65213同类型芯片参数对比
  4. 计算机网络常见面试题目总结,含答案
  5. 如何理解C语言的声明
  6. 笔记本无线连接打印机
  7. Java parallel Bucket Sort
  8. 《计算机视觉与图像处理》最全总结之就业必备-小白易懂易上手
  9. 编程之美——找符合条件的整数
  10. 用python抓取智联招聘信息并存入excel