PyTorch torch.add-Funktion
PyTorch torch Referenzhandbuch
torch.addist eine Funktion in PyTorch, die zur elementweisen Addition verwendet wird. Sie addiert zwei Tensoren oder einen Tensor und einen Skalar.
Dies ist eine der grundlegendsten mathematischen Operationen und wird in verschiedenen Berechnungsszenarien im Deep Learning verwendet.
Funktionsdefinition
torch.add(input, other, alpha=1, out=None)
Parameters:
input(Tensor): Der erste Eingabe-Tensor.other(Tensor oder float): Der zweite Eingabe-Tensor oder Skalar.alpha(float, optional): Skalierungsfaktor,otherder mit diesem Wert multipliziert und dann addiert wird zuinputihm, Standardwert ist 1.out(Tensor, optional): Ausgabe-Tensor.
Rückgabewert:
torch.Tensor: Gibt den Tensor nach der Addition zurück.
Anwendungsbeispiele
Beispiel 1: Zwei Tensoren addieren
Beispiel
# Zwei Tensoren erstellen
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Beide addieren
c = torch.add(a, b)
print(c)
Die Ausgabe ist:
tensor([5, 7, 9])
Beispiel 2: Tensor plus Skalar
Beispiel
# Einen Tensor erstellen
a = torch.tensor([1, 2, 3])
# Den Skalar addieren
b = torch.add(a, 10)
print(b)
Die Ausgabe ist:
tensor([11, 12, 13])
Beispiel 3: Verwendung des alpha-Parameters
Beispiel
# Zwei Tensoren erstellen
a = torch.tensor([1.0, 2.0, 3.0])
b = torch.tensor([1.0, 2.0, 3.0])
# a + 2 * b berechnen
c = torch.add(a, b, alpha=2)
print(c)
Die Ausgabe ist:
tensor([3., 6., 9.])
alphaDer Parameter ist nützlich bei der Implementierung bestimmter Algorithmen, wie zum Beispiel beim Berechneninput + alpha * other。
Beispiel 4: Broadcasting-Mechanismus
Beispiel
# Tensoren unterschiedlicher Formen addieren (Broadcasting)
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
b = torch.tensor([1, 2, 3])
c = torch.add(a, b)
print(c)
Die Ausgabe ist:
tensor([[2, 4, 6],
[5, 7, 9])
PyTorch unterstützt den Broadcasting-Mechanismus, der Operationen auf Tensoren unterschiedlicher Formen ermöglicht.
Verwendung des Plus-Operators
Zusätzlich zur Verwendung dertorch.add()Funktion können Sie auch direkt den+Operator verwenden, und beide haben die gleiche Wirkung:
Beispiel
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Die beiden Methoden sind äquivalent
c1 = torch.add(a, b)
c2 = a + b
print(c1)
print(c2)
print(torch.equal(c1, c2))
Andere Erweiterungen