PyTorch torch.linalg.norm-Funktion
PyTorch torch-Referenzhandbuch
torch.linalg.normEs ist eine Funktion im PyTorch-Modul für lineare Algebra, mit der Matrix- oder Vektornormen berechnet werden. Sie unterstützt mehrere Normtypen wie L1-, L2-, Frobenius-Normen usw.
Funktionsdefinition
torch.linalg.norm(A, ord=None, dim=None, keepdim=False, out=None, dtype=None)
Parameters:
A(Tensor): Eingabe-Tensor.ord(int, float, inf, -inf, optional): Normtyp. Standard ist 'fro'.dim(int, tuple, optional): Dimensionen, über die die Norm berechnet wird.keepdim(bool, optional): Ob die Dimensionen beibehalten werden. Standard ist False.dtype(torch.dtype, optional): Ausgabedatentyp.
Rückgabewert:
torch.Tensor: Gibt den Normwert zurück.
Anwendungsbeispiele
Beispiel - Frobenius-Norm
import torch
# Matrix erstellen
A = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
# Frobenius-Norm
norm_fro = torch.linalg.norm(A)
print("Matrix A:")
print(A)
print("Frobenius-Norm:", norm_fro)
# Matrix erstellen
A = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
# Frobenius-Norm
norm_fro = torch.linalg.norm(A)
print("Matrix A:")
print(A)
print("Frobenius-Norm:", norm_fro)
Das Ausgabeergebnis ist:
矩阵 A:
tensor([[1., 2.],
[3., 4.]])
Frobenius 范数: tensor(5.4772)
Beispiel - Vektor-L2-Norm
import torch
# Vektor erstellen
v = torch.tensor([3.0, 4.0])
# L2-Norm (Standard)
norm_l2 = torch.linalg.norm(v)
# L1-Norm
norm_l1 = torch.linalg.norm(v, ord=1)
print("Vektor v:", v)
print("L2-Norm:", norm_l2)
print("L1-Norm:", norm_l1)
# Vektor erstellen
v = torch.tensor([3.0, 4.0])
# L2-Norm (Standard)
norm_l2 = torch.linalg.norm(v)
# L1-Norm
norm_l1 = torch.linalg.norm(v, ord=1)
print("Vektor v:", v)
print("L2-Norm:", norm_l2)
print("L1-Norm:", norm_l1)
Andere Erweiterungen