Функция PyTorch torch.linalg.norm
Справочное руководство PyTorch torch
torch.linalg.normЭто функция в модуле линейной алгебры PyTorch, используемая для вычисления норм матриц или векторов. Она поддерживает несколько типов норм, таких как L1, L2, нормы Фробениуса и т. д.
Определение функции
torch.linalg.norm(A, ord=None, dim=None, keepdim=False, out=None, dtype=None)
Parameters:
A(Tensor): входной тензор.ord(int, float, inf, -inf, необязательный): тип нормы. По умолчанию — 'fro'.dim(int, tuple, необязательный): размерности, по которым вычисляется норма.keepdim(bool, необязательный): сохранять ли размерности. По умолчанию False.dtype(torch.dtype, необязательный): тип выходных данных.
Возвращаемое значение:
torch.Tensor: Возвращает значение нормы.
Примеры использования
Пример - норма Фробениуса
import torch
# Создать матрицу
A = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
# Норма Фробениуса
norm_fro = torch.linalg.norm(A)
print("Матрица A:")
print(A)
print("Норма Фробениуса:", norm_fro)
# Создать матрицу
A = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
# Норма Фробениуса
norm_fro = torch.linalg.norm(A)
print("Матрица A:")
print(A)
print("Норма Фробениуса:", norm_fro)
Результат вывода:
矩阵 A:
tensor([[1., 2.],
[3., 4.]])
Frobenius 范数: tensor(5.4772)
Пример - норма L2 вектора
import torch
# Создать вектор
v = torch.tensor([3.0, 4.0])
# Норма L2 (по умолчанию)
norm_l2 = torch.linalg.norm(v)
# Норма L1
norm_l1 = torch.linalg.norm(v, ord=1)
print("Вектор v:", v)
print("Норма L2:", norm_l2)
print("Норма L1:", norm_l1)
# Создать вектор
v = torch.tensor([3.0, 4.0])
# Норма L2 (по умолчанию)
norm_l2 = torch.linalg.norm(v)
# Норма L1
norm_l1 = torch.linalg.norm(v, ord=1)
print("Вектор v:", v)
print("Норма L2:", norm_l2)
print("Норма L1:", norm_l1)
Другие расширения