gpt4 book ai didi

python - Numpy:我可以在没有 einsum 的情况下进行张量 Hadamard 乘法吗?

转载 作者:行者123 更新时间:2023-11-28 22:35:07 24 4
gpt4 key购买 nike

我有一个四阶张量 A(比如索引 (a, b, i, j))和一个二阶张量 B(比如索引 (i, j)),我想计算一种 Hadamard 乘法他们中的。

也就是说,如果我们称产品为 C,我想要 C[a,b,i,j] == A[a,b,i,j] * B[i,j] .使用 einsum 有一种相当简单的方法可以做到这一点但有人告诉我使用 einsum 会严重影响性能与 tensordot 等方法相比,但我找不到从文档中避免它的好方法。

有可能我错过了;我是张量的新手,而不是 numpy 的专家。

最佳答案

C = A * B

broadcasting rules 之后, NumPy 将从最后一个轴开始排列 AB 的形状:

A: (a, b, i, j)
B: (i, j)

并将 AB 的相应元素相乘以创建 C:

   A[a, b, i, j]
* B[ i, j]
== C[a, b, i, j]

关于python - Numpy:我可以在没有 einsum 的情况下进行张量 Hadamard 乘法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38443703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com