Функция norm
Функция norm вычисляет норму тензора. Первым параметром передаётся тензор, вторым параметром p задаётся тип нормы (по умолчанию 2 - евклидова норма). Параметр dim позволяет указать размерность для вычисления нормы. Функция также поддерживает параметр keepdim для сохранения размерности результата.
Синтаксис
torch.norm(tensor, p=2, dim=None, keepdim=False)
Пример
Давайте вычислим L2-норму (евклидову норму) вектора:
import torch
t = torch.tensor([3.0, 4.0])
res = torch.norm(t)
print(res)
Результат выполнения кода:
tensor(5.)
Пример
Давайте вычислим L1-норму вектора:
import torch
t = torch.tensor([1.0, -2.0, 3.0])
res = torch.norm(t, p=1)
print(res)
Результат выполнения кода:
tensor(6.)
Пример
Давайте вычислим норму для двумерного тензора по столбцам (размерность 0):
import torch
t = torch.tensor([
[1.0, 2.0],
[3.0, 4.0],
[5.0, 6.0],
])
res = torch.norm(t, p=2, dim=0)
print(res)
Результат выполнения кода:
tensor([5.9161, 7.4833])
Пример
Давайте вычислим норму по строкам с сохранением размерности:
import torch
t = torch.tensor([
[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
])
res = torch.norm(t, p=2, dim=1, keepdim=True)
print(res)
Результат выполнения кода:
tensor([
[3.7417],
[8.7750],
])