torch.addmm#
- torch.addmm(input, mat1, mat2, out_dtype=None, *, 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]])