【发布时间】:2019-09-20 04:23:16
【问题描述】:
我有以下爱因斯坦求和(einsum)表达式,
import numpy as np
x = np.random.rand(1,8,2,8,10)
y = np.random.rand(8,10,10)
z = np.einsum('nkctv,kvw->nctw', x, y)
print (z.shape)
输出是:
(1, 2, 8, 10)
我想做的是使用一组嵌套的 for 循环构建等效的功能,我遵循了这个 tutorial,它展示了如何使用嵌套的 for 循环实现一些 einsum 表达式,但它没有帮助那么多。
有人知道怎么做吗?
【问题讨论】:
-
您需要 6 个循环,每个字母一个。
k和v相加,因此不会出现在结果中。其他人只是从他们的输入到结果。
标签: python numpy numpy-einsum