news 2026/5/12 20:13:10

PyTorch中的unsqueeze函数详解:给张量增加维度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyTorch中的unsqueeze函数详解:给张量增加维度

什么是unsqueeze函数?

unsqueeze()函数的作用是在张量的指定位置插入一个维度,这个新维度的长度为1。

基本用法

1. 基本语法

import torch # 创建一个一维张量 x = torch.tensor([1, 2, 3, 4]) print(f"原始张量: {x}, 形状: {x.shape}") # torch.Size([4]) # 在维度0处增加维度 x_unsqueeze_0 = torch.unsqueeze(x, dim=0) print(f"在dim=0处unsqueeze: {x_unsqueeze_0}, 形状: {x_unsqueeze_0.shape}") # torch.Size([1, 4]) # 在维度1处增加维度(在最后一维之后) x_unsqueeze_1 = x.unsqueeze(dim=1) print(f"在dim=1处unsqueeze: {x_unsqueeze_1}, 形状: {x_unsqueeze_1.shape}") # torch.Size([4, 1])

运行结果:

原始张量: tensor([1, 2, 3, 4]), 形状: torch.Size([4])
在dim=0处unsqueeze: tensor([[1, 2, 3, 4]]), 形状: torch.Size([1, 4])
在dim=1处unsqueeze: tensor([[1],
[2],
[3],
[4]]), 形状: torch.Size([4, 1])

2. 不同维度的张量示例

# 二维张量 x_2d = torch.tensor([[1, 2], [3, 4]]) print(f"原始2D张量形状: {x_2d.shape}") # torch.Size([2, 2]) # 在维度0处增加维度 result_0 = x_2d.unsqueeze(0) print(f"dim=0: {result_0.shape}") # torch.Size([1, 2, 2]) # 在维度1处增加维度 result_1 = x_2d.unsqueeze(1) print(f"dim=1: {result_1.shape}") # torch.Size([2, 1, 2]) # 在维度2处增加维度 result_2 = x_2d.unsqueeze(2) print(f"dim=2: {result_2.shape}") # torch.Size([2, 2, 1]) # 使用负索引(从后往前计数) result_neg = x_2d.unsqueeze(-1) print(f"dim=-1: {result_neg.shape}") # torch.Size([2, 2, 1])

实际应用场景

1. 神经网络输入处理

神经网络通常需要特定维度的输入:

# 假设我们有一个批量大小为1的RGB图像 image = torch.randn(3, 32, 32) # [channels, height, width] # 卷积层期望的输入维度: [batch_size, channels, height, width] # 需要添加batch维度 image_with_batch = image.unsqueeze(0) # 形状: [1, 3, 32, 32] print(f"神经网络输入形状: {image_with_batch.shape}") # 批量处理多个图像 batch_size = 8 images = torch.randn(batch_size, 3, 32, 32) # 正确的输入形状
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 11:52:33

互联网大厂Java面试:严肃面试官与搞笑程序员的对决222

场景: 在某互联网大厂的面试室,一位严肃的面试官正准备提问,而对面坐着一位看似紧张却又想显得轻松的程序员小张。 面试官:我们先来聊聊Java核心知识。第一个问题,Java中的JVM是如何管理内存的? 程序员小张…

作者头像 李华
网站建设 2026/5/11 11:52:09

深度测评 9个AI论文工具:本科生毕业论文写作全攻略

随着AI技术的不断进步,越来越多的学术写作工具被推向市场,为本科生撰写毕业论文提供了新的解决方案。然而,面对种类繁多的AI工具,如何选择真正适合自己需求的产品成为一大难题。为此,我们基于2026年的实测数据与用户反…

作者头像 李华
网站建设 2026/5/11 11:52:33

java+vue基于springboot的二手车交易平台系统_594x8878

目录 系统概述技术架构核心功能模块扩展特性部署与优化 开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 系统概述 基于SpringBoot和Vue的二手车交易平台系统是一个前后端分离的Web应用,旨在为用户提供车辆买卖、信…

作者头像 李华
网站建设 2026/5/11 11:52:05

AI产品经理十年演进

AI 产品经理(AI PM) 的十年(2015–2025),是从“工程辅助者”向“业务架构师”,再到“智能体导演”的范式跃迁。 这十年中,AI PM 的核心能力从**“懂算法参数”演变为“懂价值对齐”**。如果说早…

作者头像 李华
网站建设 2026/5/11 11:52:32

2026 年企业 HR 选型指南:智能 EHR 系统与传统人事软件核心区别

在企业人力管理数字化进程中,智能 EHR 系统与传统人事软件逐渐成为两种主流选择。前者依托技术革新重构管理逻辑,后者延续传统操作框架满足基础需求,二者的差异直接影响 HR 工作效率、企业人才管理质量。很多 HR 在选型时困惑于如何区分二者核…

作者头像 李华
网站建设 2026/5/11 11:52:32

FaceSeeker 慧眼寻人 v1.6 本地 AI 批量人脸识别工具

FaceSeeker 慧眼寻人 v1.6 是一款本地 AI 驱动的批量人脸识别工具,核心聚焦照片批量查找需求,凭借高准确率识别与多核高速处理能力,适配日常图片整理、特定人物筛选等场景,为用户提供安全高效的人脸检索解决方案,无需依…

作者头像 李华