参考:
base Knowlegde:高维矩阵相当于二维矩阵的顺序堆叠
相同维度数目
举例:A shape [a, b, c, d], B shape [e, f, g , h]
For 高维 (除第一维和第二维之外)长度相同:(eg. \(a = e, b = f\))
那么根据 base knowledge 提示,可知 A,B 两个矩阵顺序堆叠的二维矩阵可以一一对应,因此按顺序一一对应着执行二维矩阵的矩阵乘法(当然需要符保证第一维和第二维需要符合二维矩阵乘法要求),之后将结果按同样顺序堆叠即可。
For 高维长度不相同: (eg. \(a \neq e\ (and || or)\ b \neq f\))
在 numpy 等矩阵运算相关库中由于广播机制的存在依然可以运行,即按维度广播到高维一致,之后执行乘法
不同维度数目
举例:A shape [a, b, c, d], B shape [e, f, g]
相当于:
- 一维向量与常数进行对位点乘
- 二维矩阵与一维向量相乘
总结来说,首先看如果执行二维矩阵乘法 or 二维矩阵与一维向量相乘(当然低维首先得符合执行要求),能不能造成高维表示(数目 and 长度)一致,不能通过广播机制使其一致,还不能就是报错
标签:矩阵,shape,二维,高维,向量,乘法 From: https://www.cnblogs.com/name555difficult/p/17600678.html