两个 3D 矩阵沿轴的 2D 点积
2D dot product on two 3D matrix along an aixs
给定两个矩阵A和B,维度分别为(x,y,z)和(y,x,z),如何对两个矩阵的前两个维度进行点积?结果应具有 (x,x,z) 的维度。
谢谢!
使用 np.einsum
字面上相同的字符串表达式 -
np.einsum('xyz,yiz->xiz',a,b) # a,b are input arrays
请注意,我们使用 yiz
作为第二个数组的字符串表示法,而不是 yxz
,因为 i
应该是输出数组中的新维度,并且不与我们已经分配 x
的第一个数组的第一个轴对齐。要对齐的维度被赋予相同的字符串符号。
给定两个矩阵A和B,维度分别为(x,y,z)和(y,x,z),如何对两个矩阵的前两个维度进行点积?结果应具有 (x,x,z) 的维度。
谢谢!
使用 np.einsum
字面上相同的字符串表达式 -
np.einsum('xyz,yiz->xiz',a,b) # a,b are input arrays
请注意,我们使用 yiz
作为第二个数组的字符串表示法,而不是 yxz
,因为 i
应该是输出数组中的新维度,并且不与我们已经分配 x
的第一个数组的第一个轴对齐。要对齐的维度被赋予相同的字符串符号。