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
以上是关于pytorch torch.norm(input, p=2) → floattorch.norm(input, p, dim, out=None) → Tensor(求范数)的主要内容,如果未能解决你的问题,请参考以下文章
[Pytorch系列-18]:Pytorch基础 - 张量的范数