torch.addmm¶
- torch.addmm(input, mat1, mat2, *, beta=1, alpha=1, out=None) Tensor ¶
執行矩陣
mat1
和mat2
的矩陣乘法。矩陣input
會加到最終結果中。如果
mat1
是一個 張量,mat2
是一個 張量,那麼input
必須與 張量 可廣播,並且out
將會是一個 張量。alpha
和beta
分別是mat1
和mat2
之間矩陣向量積以及加入的矩陣input
的縮放因子。如果
beta
為 0,則input
將被忽略,並且其中的 nan 和 inf 不會被傳播。對於 FloatTensor 或 DoubleTensor 類型的輸入,參數
beta
和alpha
必須是實數,否則它們應該是整數。此操作支援具有稀疏佈局的參數。 如果
input
是稀疏的,則結果將具有相同的佈局,如果提供了out
,則它必須具有與input
相同的佈局。警告
稀疏支持是一個 beta 功能,某些佈局/dtype/裝置組合可能不被支持,或者可能沒有 autograd 支持。如果您發現缺少功能,請開啟一個功能請求。
此運算符支持 TensorFloat32。
在某些 ROCm 設備上,當使用 float16 輸入時,此模塊將使用 不同的精度 進行反向傳播。
- 參數
- 關鍵字參數
beta (Number, optional) –
input
的乘數 ()alpha (Number, optional) – 的乘數 ()
out (Tensor, optional) – 輸出張量。
範例
>>> M = torch.randn(2, 3) >>> mat1 = torch.randn(2, 3) >>> mat2 = torch.randn(3, 3) >>> torch.addmm(M, mat1, mat2) tensor([[-4.8716, 1.4671, -1.3746], [ 0.7573, -3.9555, -2.8681]])