Spec-Zone.ru › PyTorch 1

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 (Тензор) – тензор, по умолчанию сглаживается, но это поведение можно контролировать с помощью dim.
  • ord (int, float, inf, -inf, 'fro', 'nuc', необязательно) – порядок нормы. По умолчанию: 2
  • dim (int, Tuple[int], необязательно) – измерения, по которым вычисляется норма. См. выше поведение, когда dim= None. По умолчанию: None
  • keepdim (bool, необязательно) – Если установлено в True, уменьшенные измерения сохраняются в результате как измерения с размером один. По умолчанию: False
Ключевые аргументы:
  • out (Тензор, необязательно) – тензор результата. Игнорируется, если None. По умолчанию: None.
  • dtype (torch.dtype, optional) – тип, используемый для накопления и возврата. Если указано, x приводится к типу dtype перед выполнением операции, и тип возвращаемого тензора будет dtype если вещественный и его вещественный аналог, если комплексный. dtype может быть комплексным, если x комплексный, в противном случае он должен быть вещественным. 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)

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.linalg.vector_norm.html

Spec-Zone.ru

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