我有两个3维NumPy数组(10,360,90)。我想在两个数组之间进行矩阵乘法。
我想知道如何将最后两个维度(360、90)作为单个元素进行矩阵乘法。也就是说,如图所示,在(360,90)数组之间进行np.maltiply运算,并生成最终矩阵为(10,10,360,90)。
可以使用numpy.einsum解决此问题,如下所示:
import numpy as np
a = np.random.rand(10,360,90) # first array you want to multiply
b = np.random.rand(10,360,90) # second array you want to multiply
c = np.einsum('ikl, jkl-> ijkl', a, b) # output array
c
将是您定义的形状为(10,10,360,90)的最终矩阵。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句