【发布时间】:2021-12-19 20:45:15
【问题描述】:
我有一个关于 tensordot 操作的快速问题。我试图弄清楚是否有一种方法可以在两个张量之间执行张量积以获得我想要的正确形状输出。其中一个张量是 B X L X D 维度,另一个是 B X 1 X D 维度,我试图弄清楚是否有可能最终得到 B X D 矩阵。
目前,我正在循环 B 维并在 1 X D 和 D X L(转置 L X D)矩阵之间执行矩阵乘法,并将它们堆叠以最终得到 B X L 矩阵。这显然不是最快的方法,因为循环可能很昂贵。是否可以通过执行快速张量点获得所需的 B X D 形状输出?我似乎无法找到摆脱其中一个 B 的方法。
非常感谢任何见解或方向。
【问题讨论】:
-
我假设您提到了 BXL 的结果,因为 1 XD 和 DXL 的矩阵乘法的形状为 1 XL 而不是 1 X D。如果是这种情况,请使用正确的详细信息更新问题.
-
@A.Maman 感谢您的关注。更新了我的 OP
标签: python pytorch matrix-multiplication dimension tensordot