import numpy as np
M = 10
N = 20
D = 30
A = np.random.rand(M, N, D)
B = np.random.rand(M, N, D)
C = np.einsum('ijk,ijk->ij', A, B)
print(C.shape) # (10, 20)
但是你可以做更多的事情,例如:
C = np.einsum('ijk,ijk->jk', A, B)
print(C.shape) # (20, 30)
C = np.einsum('ijk,ijk->ik', A, B)
print(C.shape) # (10, 30)
或者简单的元素乘法:
C = np.einsum('ijk,ijk->ijk', A, B)
print(C.shape) # (10, 20, 30)
1条答案
按热度按时间mrphzbgm1#
您需要指定您希望“乘法”做什么。一种可能的方法是:
但是你可以做更多的事情,例如:
或者简单的元素乘法: