当前位置: 首页 > news >正文

PyTorch 中unsqueeze(-1)用法

unsqueeze(-1) 是 PyTorch 中的一个张量操作,用于‌在指定维度上增加一个长度为1的维度‌(即扩展维度)。具体解析如下:


功能说明

  1. 作用位置
    -1 表示在张量的‌最后一个维度‌后添加新维度。
    (等价于 dim=len(tensor.shape)

  2. 输入输出对比

    • 假设原张量 train_X 形状为 (N,)(一维向量)
    • 执行后形状变为 (N, 1)(二维矩阵)
  3. 典型用途

    • 适配神经网络层输入要求(如全连接层需要二维输入)
    • 广播机制(Broadcasting)前的维度对齐
    • 处理单通道数据(如时间序列、灰度图像)

示例演示

import torch# 原始数据(一维张量)
data = torch.tensor([1, 2, 3])  # shape: (3,)# 添加维度后
expanded = data.unsqueeze(-1)    # shape: (3, 1)
print(expanded)

输出:

tensor([[1],[2],[3]])

其他等价写法

  • unsqueeze(1):当输入为一维时效果与 unsqueeze(-1) 相同
  • data[:, None]:Python 切片语法实现相同功能

相关文章:

  • 城市地下“隐形卫士”:激光甲烷传感器如何保障燃气安全?
  • 《Android 应用开发基础教程》——第十五章:Android 动画机制详解(属性动画、帧动画、过渡动画)
  • 精益数据分析(79/126):从黏性到爆发——病毒性增长的三种形态与核心指标解析
  • 音频AAC编码与RV1126的AENC模块的讲解
  • 1.2 控制系统的数学模型
  • python学习day2:进制+码制+逻辑运算符
  • Linux中硬件信息查询利器——lshw命令详解!
  • NLP学习路线图(五):常用库-NumPy, Pandas, Matplotlib
  • hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
  • echarts之双折线渐变图
  • k8s网络架构
  • Nodejs导出excel文件 及复杂样式解决方案
  • MuJoCo安装记录
  • JavaSE核心知识点03高级特性03-02(多线程)
  • HTTP 与 HTTPS 深度解析:原理、实践与大型项目应用
  • 灵魂云,浏览器 github+gitee 兼容
  • [Asp.Net]GridView导出Excel长数字显示成科学计数
  • 深度剖析 MCP SDK 最新版:Streamable HTTP 模式
  • 【自定义类型-结构体】--结构体类型,结构体变量的创建和初始化,结构体内存对齐,结构体传参,结构体实现位段
  • 云管理深度解析:资源限额、监控策略与多厂商适配方案
  • 微信网站结构/怎么让百度收录我的网站
  • 响应式网站后台/搜索关键词然后排名怎样提升
  • 武汉建设工程律师/优化网站最好的刷排名软件
  • 网站设计目标 优帮云/谷歌浏览器在线打开
  • 沈阳网站优化哪家好/项目平台
  • 做网站有哪些软件/网络营销企业是什么