Spec-Zone.ru › PyTorch 2.14

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 (см. ниже)

inf

max(abs(x))

-inf

min(abs(x))

0

sum(x != 0)

другие int или float

sum(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
Именованные аргументы:
  • out (Tensor, необязательно) – выходной тензор. Игнорируется, если None. По умолчанию: None.
  • dtype (torch.dtype, необязательно) – Если указано, x приводится к типу dtype перед накоплением. По умолчанию: None
Возвращает:

Тензор с вещественными значениями, даже если 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API