快捷键

torch.linalg.vector_norm

torch.linalg.vector_norm(x, ord=2, dim=None, keepdim=False, *, dtype=None, out=None) Tensor

计算向量范数。

如果 x 是复数值,则计算 x .abs() 的范数

支持输入浮点型、双精度浮点型、复浮点型和复双精度浮点型数据类型。

此函数不一定将多维 x 视为向量批次,而是:

  • 如果 dim 为 None,则在计算范数之前, x 将被展平。

  • 如果 dim 是整数或元组,则范数将在这些维度上计算,其他维度将被视为批次维度。

这种行为是为了与 torch.linalg.norm() 保持一致。

定义要计算的向量范数。以下范数被支持:

ord

向量范数

2(默认)

2-范数(见下文)

无穷

max(绝对值(x))

-无穷大

min(绝对值(x))

0

sum(x 不等于 0)

其他整数或浮点数

sum(abs(x)^{ord})^{(1 / ord)}

其中 inf 指的是 float(‘inf’), NumPy 的 inf 对象,或任何等效对象。

dtype 可用于以更精确的数据类型执行计算。它与调用 linalg.vector_norm(x.to(dtype)) 在语义上等价,但在某些情况下更快。

参见

torch.linalg.matrix_norm() 计算矩阵范数。

参数:
  • x (Tensor) – 张量,默认情况下是展开的,但可以使用 dim . 来控制这种行为。(注意:关键字参数 input 也可以用作 x 的别名。)

  • 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 ,可选) – 用于执行累加和返回操作的数据类型。如果指定,则在执行操作之前将 x 转换为 dtype ,返回的张量类型将是 dtype 如果是实数,如果是复数,则将是其实数对应类型。如果 x 是复数,则 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)

© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源