Spec-Zone.ru › PyTorch 2

torch.addmm

torch.addmm(input, mat1, mat2, *, beta=1, alpha=1, out=None) → Tensor

Выполняет умножение матриц mat1 и mat2. Матрица input добавляется к конечному результату.

Если mat1 — тензор (n×m)(n \times m), mat2 — тензор (m×p)(m \times p), то input должен быть совместим по правилам трансляции с тензором (n×p)(n \times p), и out будет тензором (n×p)(n \times p).

alpha и beta являются коэффициентами масштабирования для умножения матрицы на вектор между mat1 и mat2 и добавляемой матрицы input соответственно.

out=β input+α(mat1i@mat2i)\text{out} = \beta\ \text{input} + \alpha\ (\text{mat1}_i \mathbin{@} \text{mat2}_i)

Если beta равно 0, то input будет проигнорировано, и nan и inf в нём не будут распространяться.

Для входных данных типа FloatTensor или DoubleTensor, аргументы beta и alpha должны быть вещественными числами, в противном случае они должны быть целыми.

Эта операция поддерживает аргументы с разреженными макетами. Если input разрежен, результат будет иметь тот же макет, и если out предоставлен, он должен иметь тот же макет, что и input.

Предупреждение

Поддержка разреженных данных — это бета-функция, и некоторые макеты/типы данных/комбинации устройств могут не поддерживаться или не иметь поддержки автоградиента. Если вы обнаружите недостающую функциональность, откройте запрос на новую функцию.

Этот оператор поддерживает TensorFloat32.

На некоторых устройствах ROCm, при использовании входных данных типа float16, этот модуль будет использовать разную точность для обратного распространения.

Параметры
  • input (Tensor) – матрица, которая должна быть добавлена
  • mat1 (Tensor) – первая матрица для умножения матриц
  • mat2 (Tensor) – вторая матрица для умножения матриц
Ключевые аргументы
  • beta (Число, необязательно) – множитель для input (β\beta)
  • alpha (Число, необязательно) – множитель для mat1@mat2mat1 @ mat2 (α\alpha)
  • out (Tensor, необязательно) – выходной тензор.

Пример:

>>> 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/2.1/generated/torch.addmm.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API