gpt4 book ai didi

python - 矢量化 numpy.einsum

转载 作者:太空狗 更新时间:2023-10-30 01:19:20 27 4
gpt4 key购买 nike

我有以下四个张量

  1. H(h, r)
  2. A (a, r)
  3. D (d, r)
  4. T (a, t, r)

对于a中的每个i,都有一个对应的T[i]形状(t, r).

我需要做一个 np.einsum 来产生以下结果 (pred):

pred = np.einsum('hr, ar, dr, tr ->hadt', H, A, D, T[0])
for i in range(a):
pred[:, i:i+1, :, :] = np.einsum('hr, ar, dr, tr ->HADT', H, A[i:i+1], D, T[i])

但是,我想在不使用 for 循环的情况下进行此计算。原因是我正在使用 autograd,它目前不适用于项目分配!

最佳答案

一种方法是使用 T 的所有维度 -

np.einsum('Hr, Ar, Dr, ATr ->HADT', H, A, D, T)

因为,我们需要对所有输入进行求和归约 axis-r,同时将所有其他(轴)保留在输出中,我看不到任何中间方法来执行此操作/引入任何基于点的工具都可以利用 BLAS。

关于python - 矢量化 numpy.einsum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582442/

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