PyTorch torch.addr-Funktion


Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

torch.addrEs ist eine Funktion in PyTorch, die verwendet wird, um das äußere Produkt zweier Vektoren zu berechnen und es zu einer Eingabematrix zu addieren. Sie berechnet das äußere Produkt jeder Zeile von vec1 und jeder Spalte von vec2 und addiert es dann zu input.

Funktionsdefinition

torch.addr(input, vec1, vec2, *, beta=1.0, alpha=1.0, out=None)

Parameters:

  • input(Tensor): Eingabematrix, die zum Ergebnis addiert wird.
  • vec1(Tensor): Der erste Vektor, mit Form (n,) oder (n, 1).
  • vec2(Tensor): Der zweite Vektor, mit Form (m,) oder (m, 1).
  • beta(float, optional): Koeffizient, mit input multipliziert, Standardwert ist 1.0.
  • alpha(float, optional): Koeffizient, multipliziert mit dem Ergebnis des äußeren Produkts, Standardwert ist 1.0.
  • out(Tensor, optional): Ausgabe-Tensor.

Rückgabewert:

  • torch.Tensor: Gibt die Summe des äußeren Produkts und der Eingabematrix zurück, mit der Form (n, m).

Anwendungsbeispiel

Beispiel

import torch

# Erstelle die Eingabematrix und zwei Vektoren
input = torch.zeros(3, 4)
vec1 = torch.tensor([1, 2, 3])
vec2 = torch.tensor([4, 5, 6, 7])

# Berechne das äußere Produkt und addiere es zur Eingabematrix
result = torch.addr(input, vec1, vec2)

print("Form der Eingabematrix:", input.shape)
print("Vektor 1:", vec1)
print("Vektor 2:", vec2)
print("Form des Ergebnisses:", result.shape)
print(result)

Das Ausgabeergebnis ist:

输入矩阵形状: torch.Size([3, 4])
向量1: tensor([1, 2, 3])
向量2: tensor([4, 5, 6, 7])
结果形状: torch.Size([3, 4])
tensor([[ 4.,  5.,  6.,  7.],
        [ 8., 10., 12., 14.],
        [12., 15., 18., 21.]])

Beispiel - Ohne Verwendung einer Eingabematrix

import torch

vec1 = torch.tensor([1, 2, 3])
vec2 = torch.tensor([4, 5, 6])

# Berechne das äußere Produkt direkt
result = torch.addr(torch.zeros(3, 3), vec1, vec2)
print(result)

Pytorch torch 参考手册PyTorch torch-Referenzhandbuch

Andere Erweiterungen