Spec-Zone.ru › PyTorch 1

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).

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

Пример:

>>> 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.]])

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

Spec-Zone.ru

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