关于由n维基向量构成的向量维度及shape含义的技术问询
向量维度与数组Shape的核心区别
线性代数中的向量维度
线性代数里的向量维度,指的是向量所属线性空间的维度——也就是用多少个线性无关的基向量就能表示这个向量。比如用m个基向量张成一个空间,那这个空间里所有向量的维度都是m。哪怕每个基向量本身是n维的(比如每个基向量是三维空间里的点),也不影响当前向量的维度是m,因为这里的n是基向量自身所在空间的维度,和你讨论的向量维度不是一回事。
编程中数组的Shape属性
你执行v.shape得到(28, 28, 128),这是数组的形状,和线性代数的向量维度完全是两个概念:
- 这里的3个数字表示数组有3个轴(编程语境里的“数组维度”通常指轴的数量)
- 每个数字对应一个轴的长度,数组总元素数是
28×28×128 - 如果把这个数组当成线性代数里的向量,它的维度就是总元素数——把数组展开成一维后,就是一个长度为
28×28×128的向量,对应的基向量数量就是这个总长度。
你的例子总结
别把两个语境的“维度”搞混:
- 按线性代数的向量维度算,
v的维度是28×28×128 - 按编程里的数组轴数算,它是3维数组,形状为
(28,28,128) - 你提到的“基向量数量即28”是概念误用,28只是数组其中一个轴的长度,既不是线性代数里的向量维度,也不是数组的轴数。
内容的提问来源于stack exchange,提问作者Emily
相关产品推荐
相关产品推荐

