【问题标题】:How do i compute the dot product of n tensors by n vectors with numpy [duplicate]我如何用numpy计算n个向量的n个张量的点积[重复]
【发布时间】:2020-05-12 18:44:36
【问题描述】:

我想计算 N 张量与 N 个向量的乘积。我确信有一种简单的 numpyic 方法可以做到这一点,但我没有成功地想到一个。 基本上我有形状 (N, k, k) 的张量 ndarray 和形状 (N, K) 的向量 ndarray,我想计算形状 (N, k) s.t A[i] = tensors[i].dot(vecotrs[i].reshape(-1, 1))

的数组 A

在我的具体情况下 k = 3 但我认为这无关紧要。

有没有使用 numpy 的简单方法?

【问题讨论】:

  • 输出k 是要匹配第一个输入的第一个还是第二个k

标签: python numpy dot-product


【解决方案1】:

np.einsum()怎么样:

np.einsum('ijk,il->ij', a, b)

或:

np.einsum('ijk,il->ik', a, b)

取决于您实际表示要计算总和的索引(现在它是模棱两可的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2016-03-22
    • 2019-07-30
    • 2021-02-17
    • 2017-04-01
    • 2019-09-29
    相关资源
    最近更新 更多