PyTorch学习之 torch.squeeze 函数

PyTorch学习之 torch.squeeze 函数

一、功能

torch.squeeze 的主要作用是从给定的张量 input 中移除所有尺寸为1的维度。

二、基本语法

python 复制代码
torch.squeeze(input, dim=None)

三、参数说明

  • input (Tensor): 输入的张量。
  • dim (int, 可选): 指定要移除的尺寸为1的维度
    • 如果未指定,函数将移除所有尺寸为1的维度。
    • 如果指定的维度不为1,则 torch.squeeze 不会对该维度进行操作
    • 如果所有维度都不为1且未指定 dim 参数,则返回的张量与输入张量相同

四、返回值

  • 返回一个新的张量,移除了指定的尺寸为1的维度。
  • ⚠️如果没有可以移除的维度,则返回与输入相同的张量。

五、示例

以下是一些使用 torch.squeeze 的示例,以帮助更好地理解其用法。

示例 1: 移除所有尺寸为1的维度
python 复制代码
import torch

# 创建一个张量,其形状为 (1, 3, 1, 5)
x = torch.randn(1, 3, 1, 5)
print("原始张量形状:", x.shape)

# 使用 torch.squeeze 移除所有尺寸为1的维度
y = x.squeeze()
print("移除后张量形状:", y.shape)

输出:

原始张量形状: torch.Size([1, 3, 1, 5])
移除后张量形状: torch.Size([3, 5])
示例 2: 移除指定维度(该维度尺寸为1)
python 复制代码
import torch

# 创建一个张量,其形状为 (1, 3, 1, 5)
x = torch.randn(1, 3, 1, 5)
print("原始张量形状:", x.shape)

# 指定维度移除,尝试移除第0维
y = x.squeeze(0)
print("移除第0维后的张量形状:", y.shape)

# 尝试移除第2维
z = x.squeeze(2)
print("移除第2维后的张量形状:", z.shape)

输出:

原始张量形状: torch.Size([1, 3, 1, 5])
移除第0维后的张量形状: torch.Size([3, 1, 5])
移除第2维后的张量形状: torch.Size([1, 3, 5])
相关推荐
会撸代码的懒羊羊11 分钟前
深度学习基准模型Mamba
人工智能·深度学习·神经网络
Long._.L36 分钟前
【python爬虫】豆瓣爬虫学习
爬虫·python·学习
2401_8554507942 分钟前
安卓短视频去水印v1.7 简洁好用
经验分享·笔记·学习
salvation~1 小时前
Inception_V2_V3_pytorch
人工智能·pytorch·python·深度学习·inceptionv3
鼾声鼾语1 小时前
simulink-esp32开发foc电机
开发语言·stm32·单片机·嵌入式硬件·学习
阿维同学1 小时前
今天不看文章,明天变垃圾(明天收费)-----字节数据分析发展过程中所遭遇的挑战
数据库·学习·安全·数据挖掘·数据分析·云计算
Dicheng Li的学习记录2 小时前
《数据结构与算法基础 by王卓老师》学习笔记——2.4线性表的顺序表示和实现3
数据结构·笔记·学习·算法
不怕娜2 小时前
【golang学习之旅】复杂数据类型——指针 & 函数
开发语言·学习·golang
@李思成2 小时前
动手学深度学习(Pytorch版)代码实践 -计算机视觉-49风格迁移
pytorch·深度学习·计算机视觉
小狗爱吃黄桃罐头2 小时前
江协科技51单片机学习- p21 LED点阵屏(8*8)
科技·学习·51单片机