torch.linalg.vector_norm
-
torch.linalg.vector_norm(x, ord=2, dim=None, keepdim=False, *, dtype=None, out=None) → Tensor[исходный код] -
Вычисляет норму вектора.
Если
xимеет комплексные значения, вычисляется нормаx.abs()Поддерживаются входные данные типов float, double, cfloat и cdouble.
Эта функция не обязательно рассматривает многомерные
xкак пакет векторов; вместо этого:- Если
dim= None, перед вычислением нормыxбудут сведены в одномерный массив. - Если
dimявляетсяintилиtuple, норма будет вычислена по этим измерениям, а остальные измерения будут рассматриваться как пакетные.
Такое поведение обеспечивает согласованность с
torch.linalg.norm().ordзадаёт вычисляемую норму вектора. Поддерживаются следующие нормы:ordнорма вектора
2(по умолчанию)норма
2(см. ниже)infmax(abs(x))-infmin(abs(x))0sum(x != 0)другие
intилиfloatsum(abs(x)^{ord})^{(1 / ord)}где
infобозначаетfloat(‘inf’), объектinfиз NumPy или любой эквивалентный объект.Для выполнения вычислений с более точным типом данных можно использовать
dtype. Семантически это эквивалентно вызовуlinalg.vector_norm(x.to(dtype)), но в некоторых случаях работает быстрее.См. также
torch.linalg.matrix_norm()вычисляет матричную норму.- Параметры:
-
-
x (Tensor) – тензор, по умолчанию преобразуемый в одномерный массив; это поведение можно изменить с помощью
dim. (Примечание: ключевой аргументinputтакже можно использовать как псевдоним дляx.) -
ord (int, float, inf, -inf, необязательно) – порядок нормы. По умолчанию:
2 -
dim (int, Tuple[int], необязательно) – измерения, по которым вычисляется норма. Поведение при
dim= Noneописано выше. По умолчанию:None -
keepdim (bool, необязательно) – Если задано значение
True, сокращённые измерения сохраняются в результате как измерения с размером один. По умолчанию:False
-
x (Tensor) – тензор, по умолчанию преобразуемый в одномерный массив; это поведение можно изменить с помощью
- Именованные аргументы:
-
-
out (Tensor, необязательно) – выходной тензор. Игнорируется, если
None. По умолчанию:None. -
dtype (
torch.dtype, необязательно) – Если указано,xприводится к типуdtypeперед накоплением. По умолчанию:None
-
out (Tensor, необязательно) – выходной тензор. Игнорируется, если
- Возвращает:
-
Тензор с вещественными значениями, даже если
xимеет комплексный тип.
Примеры:
>>> from torch import linalg as LA >>> a = torch.arange(9, dtype=torch.float) - 4 >>> a tensor([-4., -3., -2., -1., 0., 1., 2., 3., 4.]) >>> B = a.reshape((3, 3)) >>> B tensor([[-4., -3., -2.], [-1., 0., 1.], [ 2., 3., 4.]]) >>> LA.vector_norm(a, ord=3.5) tensor(5.4345) >>> LA.vector_norm(B, ord=3.5) tensor(5.4345) - Если
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.linalg.vector_norm.html