Spec-Zone.ru › PyTorch 2.14

torch.addr

torch.addr(input, vec1, vec2, *, beta=1, alpha=1, out=None) → Tensor

Вычисляет внешнее произведение векторов vec1 и vec2 и добавляет его к матрице input.

Необязательные значения beta и alpha являются коэффициентами масштабирования соответственно внешнего произведения vec1 и vec2 и добавляемой матрицы input.

out=β input+α(vec1⊗vec2)\text{out} = \beta\ \text{input} + \alpha\ (\text{vec1} \otimes \text{vec2})

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

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

Параметры:
  • input (Tensor) – матрица, к которой выполняется сложение
  • vec1 (Tensor) – первый вектор внешнего произведения
  • vec2 (Tensor) – второй вектор внешнего произведения
Именованные аргументы:
  • beta (Number, optional) – множитель для input (β\beta)
  • alpha (Number, optional) – множитель для vec1⊗vec2\text{vec1} \otimes \text{vec2} (α\alpha)
  • out (Tensor, optional) – выходной тензор.

Пример:

>>> vec1 = torch.arange(1., 4.)
>>> vec2 = torch.arange(1., 3.)
>>> M = torch.zeros(3, 2)
>>> torch.addr(M, vec1, vec2)
tensor([[ 1.,  2.],
        [ 2.,  4.],
        [ 3.,  6.]])

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.addr.html

Spec-Zone.ru

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