PyTorch torch.addmm-Funktion
PyTorch torch-Referenzhandbuch
torch.addmmist eine Funktion in PyTorch, die verwendet wird, um das Ergebnis der Matrixmultiplikation zur Eingabematrix zu addieren. Sie führt die Matrixmultiplikation von mat1 @ mat2 durch und addiert dann das Ergebnis zu input.
Funktionsdefinition
torch.addmm(input, mat1, mat2, *, beta=1.0, alpha=1.0, out=None)
Parameters:
input(Tensor): Die Eingabematrix, die zum Ergebnis addiert wird.mat1(Tensor): Die erste Matrix mit der Form (n, m).mat2(Tensor): Die zweite Matrix mit der Form (m, p).beta(float, optional): Der Koeffizient, mit dem input multipliziert wird, Standardwert ist 1.0.alpha(float, optional): Der Koeffizient, mit dem das Ergebnis von mat1 @ mat2 multipliziert wird, Standardwert ist 1.0.out(Tensor, optional): Der Ausgabe-Tensor.
Rückgabewert:
torch.Tensor: Gibt die Summe des Ergebnisses der Matrixmultiplikation und der Eingabematrix zurück, mit Form (n, p).
Anwendungsbeispiel
Beispiel
import torch
# Erstelle die Eingabematrix und zwei Matrizen
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Führe addmm aus
result = torch.addmm(input, mat1, mat2)
print("Form der Eingabematrix:", input.shape)
print("Form von Matrix 1:", mat1.shape)
print("Form von Matrix 2:", mat2.shape)
print("Form des Ergebnisses:", result.shape)
print(result)
# Erstelle die Eingabematrix und zwei Matrizen
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Führe addmm aus
result = torch.addmm(input, mat1, mat2)
print("Form der Eingabematrix:", input.shape)
print("Form von Matrix 1:", mat1.shape)
print("Form von Matrix 2:", mat2.shape)
print("Form des Ergebnisses:", result.shape)
print(result)
Das Ausgabeergebnis ist:
输入矩阵形状: torch.Size([3, 3])
矩阵1形状: torch.Size([3, 4])
矩阵2形状: torch.Size([4, 3])
结果形状: torch.Size([3, 3])
tensor([[ 0.4692, -0.2864, -0.6013],
[ 1.5525, 0.1233, -0.0182],
[-0.3956, 0.6267, 0.3580]])
Beispiel - Verwendung der Alpha- und Beta-Parameter
import torch
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Verwende die Alpha- und Beta-Parameter
result = torch.addmm(input, mat1, mat2, beta=0.5, alpha=2.0)
# Entspricht: result = 0.5 * input + 2.0 * (mat1 @ mat2)
print(result)
input = torch.randn(3, 3)
mat1 = torch.randn(3, 4)
mat2 = torch.randn(4, 3)
# Verwende die Alpha- und Beta-Parameter
result = torch.addmm(input, mat1, mat2, beta=0.5, alpha=2.0)
# Entspricht: result = 0.5 * input + 2.0 * (mat1 @ mat2)
print(result)
Andere Erweiterungen