我目前正在处理大型 numpy 数组乘法,使用numpy.einsum
,并且一直面临MemoryError
问题。这就是为什么我试图在可能的情况下使用numexpr
. 据我所理解:
np.einsum('ij,j -> ij', a, b)
在技术上与
numexpr.evaluate("a*b")
然而,在其他情况下,事情似乎并不那么简单。假设我有三个表达式:
np.einsum('i, j -> ij', a, b)
np.einsum('ij, i -> ij', a, b)
np.einsum(ijk, kl -> ijkl', a, b)
使用 实现这三个的等效方法是numexpr
什么?