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具有相同的佈局。警告
稀疏支援是一項測試版功能,某些佈局/資料型別/裝置組合可能不受支援,或者可能沒有自動求導支援。如果您發現缺少功能,請提交功能請求。
此運算子支援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]])