torch.chain_matmul¶
- torch.chain_matmul(*matrices, out=None)[源代码][源代码]¶
返回 $N$ 个二维张量的矩阵乘积。此乘积使用矩阵链乘法顺序算法有效计算,该算法选择算术运算成本最低的顺序([CLRS])。请注意,由于这是一个计算乘积的函数,$N$ 需要大于或等于 2;如果等于 2,则返回简单的矩阵乘积。如果 $N$ 为 1,则此操作是空操作 - 返回原始矩阵。
警告
torch.chain_matmul()
已弃用,并将在未来的 PyTorch 版本中移除。请改用torch.linalg.multi_dot()
,它接受包含两个或更多张量的列表作为参数,而不是多个单独的参数。- 参数
matrices (张量...) – 一个包含 2 个或更多二维张量的序列,需要计算它们的乘积。
out (张量, 可选) – 输出张量。如果
out
=None
,则忽略此参数。
- 返回值
如果第 $i$ 个张量的维度为 $p_i \times p_{i + 1}$,则乘积的维度将为 $p_1 \times p_{N + 1}$。
- 返回类型
示例
>>> a = torch.randn(3, 4) >>> b = torch.randn(4, 5) >>> c = torch.randn(5, 6) >>> d = torch.randn(6, 7) >>> # will raise a deprecation warning >>> torch.chain_matmul(a, b, c, d) tensor([[ -2.3375, -3.9790, -4.1119, -6.6577, 9.5609, -11.5095, -3.2614], [ 21.4038, 3.3378, -8.4982, -5.2457, -10.2561, -2.4684, 2.7163], [ -0.9647, -5.8917, -2.3213, -5.2284, 12.8615, -12.2816, -2.5095]])