mindsponge.common.vecs_robust_norm

mindsponge.common.vecs_robust_norm(v, epsilon=1e-08)[源代码]

求向量的l2范数。

\[\begin{split}\begin{split} &v=(x1,x2,x3) \\ &l2\_norm=\sqrt{x1*x1+x2*x2+x3*x3+epsilon} \\ \end{split}\end{split}\]
参数:
  • v (Tuple) - 输入向量, \((x,y,z)\) 其中 x,y,z 是 标量或者Tensor,若为Tensor其shape相同。

  • epsilon (float) - 极小值,防止返回值为0,默认为1e-8。

返回:

Tensor,根据v计算得到的二范数, shape与v中的元素相同。

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore import Tensor
>>> from mindspore import dtype as mstype
>>> from mindsponge.common.geometry import vecs_robust_norm
>>> x= Tensor(np.ones(256), mstype.float32)
>>> y= Tensor(np.ones(256), mstype.float32)
>>> z= Tensor(np.ones(256), mstype.float32)
>>> result=vecs_robust_norm((x,y,z))
>>> print(result.shape)
(256)