В настоящее время я работаю с большими умножениями массивов с использованием 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
?