mindspore.nn.ClipByNorm
- class mindspore.nn.ClipByNorm(axis=None)[source]
- Clips tensor values to a maximum \(L_2\)-norm. - The output of this layer remains the same if the \(L_2\)-norm of the input tensor is not greater than the argument clip_norm. Otherwise the tensor will be normalized as: \[\text{output}(X) = \frac{\text{clip_norm} * X}{L_2(X)},\]- where \(L_2(X)\) is the \(L_2\)-norm of \(X\). - Parameters
- axis (Union[None, int, tuple(int)]) – Compute the L2-norm along the Specific dimension. Default: None, all dimensions to calculate. 
 - Inputs:
- x (Tensor) - Tensor of shape N-D. The type must be float32 or float16. 
- clip_norm (Tensor) - A scalar Tensor of shape \(()\) or \((1)\). Or a tensor shape can be broadcast to input shape. 
 
- Outputs:
- Tensor, clipped tensor with the same shape as the x, whose type is float32. 
 - Raises
 - Supported Platforms:
- Ascend- GPU- CPU
 - Examples - >>> net = nn.ClipByNorm() >>> x = Tensor(np.random.randint(0, 10, [4, 16]), mindspore.float32) >>> clip_norm = Tensor(np.array([100]).astype(np.float32)) >>> output = net(x, clip_norm) >>> print(output.shape) (4, 16)