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 (Число, необязательно) – множитель для
input() - alpha (Число, необязательно) – множитель для ()
- out (Tensor, необязательно) – тензор результата.
-
beta (Число, необязательно) – множитель для
Пример:
>>> 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]])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.addmm.html