torch.chain_matmul#
- torch.chain_matmul(※matrices, out=None)[源代码]#
返回 个 2 维张量的矩阵乘积。此乘积使用矩阵链排序算法进行高效计算,该算法选择运算次数成本最低的计算顺序([CLRS])。请注意,由于这是一个计算乘积的函数,因此 必须大于等于 2;如果等于 2,则返回简单的矩阵-矩阵乘积。如果 为 1,则这是一个无操作——返回原始矩阵。
警告
torch.chain_matmul()
已弃用,将在将来的 PyTorch 版本中删除。请改用torch.linalg.multi_dot()
,它接受一个包含两个或多个张量的列表,而不是多个参数。- 参数
matrices (Tensors...) – 要确定乘积的 2 个或更多 2 维张量的序列。
out (Tensor, optional) – 输出张量。如果
out
=None
,则忽略。
- 返回
如果第 个张量的维度为 , 则乘积的维度为 .
- 返回类型
示例
>>> 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]])