快捷方式

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]])

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源