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])
相关推荐
段一凡-华北理工大学16 小时前
工业领域的Hadoop架构学习~系列文章02:HDFS架构深度剖析
大数据·人工智能·hadoop·学习·架构·高炉炼铁
weixin_4684668516 小时前
图像分类技术落地应用与实战指南
人工智能·深度学习·ai·分类·数据挖掘·图像分类·模型部署
星恒随风16 小时前
C语言数据结构排序算法详解(上):从插入排序、希尔排序到选择排序、堆排序
c语言·数据结构·笔记·学习·排序算法
MediaTea16 小时前
人工智能通识课:深度学习
人工智能·深度学习
魔法阵维护师17 小时前
从零开发游戏需要学习的c#模块,第三十章(掉落物品 —— 血包与能量)
学习·游戏·c#
在学了加油17 小时前
Inception v1学习笔记
笔记·python·学习
是一个Bug17 小时前
LangChain 入门完全指南:核心概念、学习路线与实战 Demo
学习·langchain
探物 AI17 小时前
Mamba 会替代 Transformer 成为 AI 的下一代底层模型吗?
人工智能·深度学习·transformer
高洁0117 小时前
设备故障?数字孪生提前预警
深度学习·机器学习·数据挖掘·transformer·知识图谱
晓梦林17 小时前
EVA靶场学习笔记
android·笔记·学习