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