【深度学习】torch.squeeze()移除维度函数 | torch.unsqueeze()增加某一维度函数 | pytorch

本文介绍了PyTorch中torch.squeeze()和torch.unsqueeze()两个重要函数的用法。torch.squeeze()用于移除张量中维度为1的轴,而torch.unsqueeze()则用于在指定位置插入一个维度为1的新轴。这两个函数在深度学习中常用于处理和调整张量的形状,例如在网络输出的可视化和输入数据预处理等方面。
摘要由CSDN通过智能技术生成


前言

这两个函数在pytorch框架下的深度学习经常用到,这次把它们记录一下。

一、torch.squeeze()函数

torch.squeeze()用来“挤”掉某一个维度为1的维度,或者所有维度为1的维度。(只挤掉维度为1的维度)
例子如下:

import torch
A=torch.rand(1,3,224,224)
B=torch.unsqueeze(A,dim=0)
print(B.shape)

结果:
在这里插入图片描述
一般来说,这个函数多用于最后网络输出图片的可视化。
如果对维度不为1的维度进行去除:

import torch
A=torch.rand(1,3,224,224)
B=torch.squeeze(A,dim=1)
print(B.shape)
A=torch.rand(1,3,224,224)
B=torch.squeeze(A,dim=2)
print(B.shape)
A=torch.rand(1,3,224,224)
B=torch.squeeze(A,dim=3)
print(B.shape)

在这里插入图片描述
不会发生变化

二、torch.unsqueeze()函数

torch.unsqueeze()函数用来插入新的维度扩充张量。例子如下:
在第0维度增加一个维度大小为1的维度(也就是在最前面加一个1)

import torch
A=torch.rand(3,224,224)
B=torch.unsqueeze(A,dim=0)
print(B.shape)

结果为:(这个一般用的最多,比如输入的VGG的照片是1,3,224,224.一般的三通道照片是3,224,224,这时就需要用unsqueeze函数)
在这里插入图片描述
在第1,2,3维度增加一个维度大小为1的维度,只需要把dim改改就行

import torch
A=torch.rand(3,224,224)
B=torch.unsqueeze(A,dim=1)
print(B.shape)
import torch
A=torch.rand(3,224,224)
B=torch.unsqueeze(A,dim=2)
print(B.shape)
import torch
A=torch.rand(3,224,224)
B=torch.unsqueeze(A,dim=3)
print(B.shape)

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值