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

【小白笔记】在 PyTorch 和 NumPy 这样的张量库中,形状(Shape) (3,) 的真正含义

非常常见的误解!在 PyTorch 和 NumPy 这样的张量库中,形状(Shape)的表示方式与您在线性代数中对矩阵的视觉习惯有所不同。

人话解释:

在 PyTorch 和 NumPy 中,形状 (3,) 绝对不是“三行一列”的意思。它表示一个纯粹的一维数组,它没有“行”和“列”的概念。


1. 形状 (3,) 的真正含义

形状表示含义维度形象化
(3,)一维数组,总共 3 个元素1 维像一个 Python 列表:[e1, e2, e3]
  • 没有方向: 当形状只有一项时(如 (N,)),它是一个向量。它既不是行向量,也不是列向量,因为它没有第二个维度来定义方向。

2. 如何表示“三行一列”?

要表示一个明确的“三行一列”的结构(即数学上的列向量或矩阵),它必须是二维的。

形状表示含义维度形象化
(3, 1)二维数组,有 3 行,每行 1 列2 维像一个列向量:(e1e2e3)\begin{pmatrix} e_1 \\ e_2 \\ e_3 \end{pmatrix}e1e2e3
(1, 3)二维数组,有 1 行,每行 3 列2 维像一个行向量:(e1e2e3)\begin{pmatrix} e_1 & e_2 & e_3 \end{pmatrix}(e1e2e3)

3. 回到 unsqueeze(0) 的作用

正因为原始的 x_new 形状是 (3,)(一个无方向的向量), PyTorch 不知道怎么用它来对齐训练集 XtrainX_{\text{train}}Xtrain 的每一行。

执行 x_new.unsqueeze(0) 后:

xnew形状 (3,)→unsqueeze(0)xnew_expanded形状 (1,3)\mathbf{x}_{\text{new}} \text{ 形状 } (3,) \xrightarrow{\text{unsqueeze}(0)} \mathbf{x}_{\text{new\_expanded}} \text{ 形状 } (1, 3)xnew 形状 (3,)unsqueeze(0)xnew_expanded 形状 (1,3)

  • 我们把它明确地变成了 1 行、3 列的结构。
  • 这个 (1, 3) 的形状才能与训练集 XtrainX_{\text{train}}Xtrain(N, 3) 形状在广播机制下成功对齐。

核心记忆点: 在 PyTorch/NumPy 中,形状中包含的数字个数就是张量的维度

  • 一个数字:(N,) → 一维。
  • 两个数字:(N, M) → 二维(矩阵,有行有列)。
  • (3,) \ne (3, 1)
http://www.dtcms.com/a/494353.html

相关文章:

  • 新版视频直播点播平台EasyDSS用视频破局,获客转化双提升
  • 【OS笔记07】:进程和线程5-进程的同步与互斥
  • 基于Session和Redis实现短信验证码登录
  • 视觉Slam14讲笔记第6讲非线性优化
  • 仓库管理系统:定义、需求和​​类型
  • 项目管理进阶——解读 软件质量体系白皮书【附全文阅读】
  • ARQC生成模拟
  • 网站架构演变过程ui和网页设计
  • ASR+LLM:B站学习视屏下载并生成学习笔记
  • C++中的引用
  • Linux 系统下 ZONE 区域的划分
  • 网站内部链接优化方法cpanel伪静态wordpress
  • LangChain 表达式语言核心组合:Prompt + LLM + OutputParser
  • 【管理多版本Python环境】Anaconda安装及使用
  • AI修图革命:IOPaint+cpolar让废片拯救触手可及
  • 读书笔记整理--网络学习与概念整合
  • 老铁推荐个2021网站好吗wordpress 入口文件
  • 前端自动化部署全流程(Jenkins + Nginx)
  • 音视频处理(一):什么决定了你的音色?声音的三要素
  • python+uniapp基于微信小程序的助眠小程序
  • ELK运维之路(Filebeat第二章-7.17.24)
  • (未成功)Chrome调试避免跳入第三方源码(设置Blackbox Scripts、将目录添加到忽略列表、向忽略列表添加脚本)
  • 网站建设毕业答辩问题学建设网站首页
  • 大模型在企业云计算领域的核心应用能力要求
  • CloudDM:一站式数据库开发管理工具
  • 适合用struts2做的网站批量发布网站
  • Azure OpenAI 错误码处理完整指南
  • NuxtJS从0到1开发SSR项目-添加Nuxt UI
  • 如何检查本地是否存在 Docker 镜像 ?
  • 查询工程建设项目的网站泉州网站制作平台