megengine.functional.norm¶
- norm(inp, ord=None, axis=None, keepdims=False)[源代码]¶
计算张量在给定轴上的范数。
这个函数能够返回不同的矩阵范数,或者无限多的向量范数中的一个(如下所述),这取决于 ord 参数的值。
- 参数
- 返回
矩阵或向量的范数。
注解
当前支持计算一下范数:
inf: 无穷范数(绝对值的最大值)。
-inf: 负无穷范数(绝对值的最小值)。
2:二阶范数(最大单值)。
Frobenius 范数由
sum(abs(x)**ord)**(1./ord)
给出。\[\|A\|_F=\left[\sum_{i, j} a b s\left(a_{i, j}\right)^2\right]^{1 / 2}\]实际案例
>>> import math >>> x = Tensor([1, 2, 3]) >>> F.norm(x, ord=math.inf) Tensor(3, dtype=int32, device=xpux:0) >>> F.norm(x, ord=-math.inf) Tensor(1, dtype=int32, device=xpux:0)
>>> x = Tensor([[1, 2, 3], [4, 5, 6]]) >>> F.norm(x, ord=2, axis=0) Tensor([4.1231 5.3852 6.7082], device=xpux:0) >>> F.norm(x, ord=2, axis=1) Tensor([3.7417 8.775 ], device=xpux:0)