Spec-Zone.ru › PyTorch 1

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

Spec-Zone.ru

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