megengine.functional.normalize

normalize(inp, ord=None, axis=None, eps=1e-12)[源代码]

返回在给定轴 axisinp 张量每一行进行 \(L_p\) 归一化后的结果。

对于一个形如 \((n_0, ..., n_{dim}, ..., n_k)\) 的张量, 其每个 \(n_{dim}\) - axis 维度上的元素向量 \(v\) 将转化为:

\[v = \frac{v}{\max(\lVert v \rVert_p, \epsilon)}.\]
参数
  • inp (Tensor) – 输入张量。

  • ord (Optional[float]) – 应用于输入张量的数值幂的阶数。

  • axis (Optional[int]) – 进行规约操作的维度。如果该值为 None,则输入必须是一个向量。

  • eps (float) – 添加到分母的单个值,增加数值稳定性。

返回类型

Tensor

返回

归一化的输出张量。

实际案例

>>> x = Tensor([[1, 2, 3], [4, 5, 6]])
>>> F.normalize(x, ord=2, axis=0)
Tensor([[0.2425 0.3714 0.4472]
 [0.9701 0.9285 0.8944]], device=xpux:0)
>>> F.normalize(x, ord=2, axis=1)
Tensor([[0.2673 0.5345 0.8018]
 [0.4558 0.5698 0.6838]], device=xpux:0)