1
我正在寻找一种有效的方法来执行两个时间相关的2D矩阵的矩阵乘法(点积),最终得到一个时间相关的2D矩阵。Numpy时间相关的2D矩阵乘法
例如:
a = np.zeros([7200,13,4])
b = np.zeros([7200,4,7])
而且我想
c = np.zeros([7200,13,7])
我已经找到np.tensordot结束了,但是这会产生我一个四维矩阵,而不是一个三维矩阵。另外其他numpy功能并没有使我获得所需的形状。所以我想知道是否有任何方法来执行这种矩阵乘法而不使用for-loops?
最好的问候,
蒂莫西·范·Daele
我只是深入了一点,我相信我发现了一个在numpy中使用einsum函数的高效解决方案。 'a = np.zeros([7200,13,4])+ 1' 'b = np.zeros([7200,4,7])+ 1' 'c = np.einsum('ijk ,ikl-> IJL”,A,b)'' c.shape' '(7200,13,7)' 最好的问候, 蒂莫西·范·Daele – TimothyVD
这样你就可以删除的问题? – usethedeathstar
您应该将您的评论写为答案,并且(如果时间限制已满)将其标记为已接受,以帮助未来的访问者访问此页面。 – YXD