mindspore.nn.Norm
- class mindspore.nn.Norm(axis=(), keep_dims=False)[source]
Computes the norm of vectors, currently including Euclidean norm, i.e., \(L_2\)-norm.
\[norm(x) = \sqrt{\sum_{i=1}^{n} (x_i^2)}\]- Parameters
- Inputs:
x (Tensor) - Tensor which is not empty. The data type should be float16 or float32. \((N,*)\) where \(*\) means, any number of additional dimensions.
- Outputs:
Tensor, output tensor with dimensions in ‘axis’ reduced to 1 will be returned if ‘keep_dims’ is True; otherwise a Tensor with dimensions in ‘axis’ removed is returned. The data type is the same with x.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> net = nn.Norm(axis=0) >>> x = Tensor(np.array([[4, 4, 9, 1], [2, 1, 3, 6]]), mindspore.float32) >>> print(x.shape) (2, 4) >>> output = net(x) >>> print(output) [4.472136 4.1231055 9.486833 6.0827627] >>> print(output.shape) (4,) >>> net = nn.Norm(axis=0, keep_dims=True) >>> x = Tensor(np.array([[4, 4, 9, 1], [2, 1, 3, 6]]), mindspore.float32) >>> print(x.shape) (2, 4) >>> output = net(x) >>> print(output) [4.472136 4.1231055 9.486833 6.0827627] >>> print(output.shape) (1, 4) >>> net = nn.Norm(axis=1) >>> x = Tensor(np.array([[4, 4, 9, 1], [2, 1, 3, 6]]), mindspore.float32) >>> print(x.shape) (2, 4) >>> output = net(x) >>> print(output) [10.677078 7.071068] >>> print(output.shape) (2,)