pytorch torch.norm(input, p=2) → floattorch.norm(input, p, dim, out=None) → Tensor(求范数)

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch torch.norm(input, p=2) → floattorch.norm(input, p, dim, out=None) → Tensor(求范数)相关的知识,希望对你有一定的参考价值。

torch.norm

用法1:

torch.norm(input, p=2)float

返回输入张量input 的p 范数。

参数:

  • input (Tensor) – 输入张量
  • p (float,optional) – 范数计算中的幂指数值

例子:
(3阶范数就是把各个元素绝对值的三次方求和sum,再对sum开三次根号)

>>> a = torch.randn(1, 3)
>>> a

-0.4376 -0.5328  0.9547
[torch.FloatTensor of size 1x3]

>>> torch.norm(a, 3)
1.0338925067372466

用法2(沿指定轴求范数):

注意:L0范数,开0次根号没有意义,按照它计算的结果来看,没有开根号

torch.norm(input, p, dim, out=None) → Tensor

返回输入张量给定维dim 上每行的p 范数。 输出形状与输入相同,除了给定维度上为1.

参数:

  • input (Tensor) – 输入张量
  • p (float) – 范数计算中的幂指数值
  • dim (int) – 缩减的维度
  • out (Tensor, optional) – 结果张量

例子:

>>> a = torch.randn(4, 2)
>>> a

-0.6891 -0.6662
 0.2697  0.7412
 0.5254 -0.7402
 0.5528 -0.2399
[torch.FloatTensor of size 4x2]

>>> torch.norm(a, 2, 1)

 0.9585
 0.7888
 0.9077
 0.6026
[torch.FloatTensor of size 4x1]

>>> torch.norm(a, 0, 1)

 2
 2
 2
 2
[torch.FloatTensor of size 4x1]

参考文章1:https://pytorch-cn.readthedocs.io/zh/latest/package_references/torch/#torchnorm

参考文章2:L0范数定义及解释

以上是关于pytorch torch.norm(input, p=2) → floattorch.norm(input, p, dim, out=None) → Tensor(求范数)的主要内容,如果未能解决你的问题,请参考以下文章

[Pytorch系列-18]:Pytorch基础 - 张量的范数

pytorch torch类

pytorch函数整理

pytorch转onnx转ncnn问题Unsqueeze not supported yet!

pytorch的基础记录

pytorch 笔记:torch.fft