mindspore.nn.L1Regularizer
- class mindspore.nn.L1Regularizer(scale)[source]
Applies l1 regularization to weights.
l1 regularization makes weights sparsity
\[\text{loss}=\lambda * \text{reduce_sum}(\text{abs}(\omega))\]Note
scale(regularization factor) should be a number which greater than 0
- Inputs:
weights (Tensor) - The input of L1Regularizer with data type of float16 or float32. The shape is \((N,*)\) where \(*\) means, any number of additional dimensions.
- Outputs:
Tensor, which dtype is higher precision data type between mindspore.float32 and weights dtype, and Tensor shape is ()
- Raises
TypeError – If scale is neither an int nor float.
ValueError – If scale is not greater than 0.
ValueError – If scale is math.inf or math.nan.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> scale = 0.5 >>> net = nn.L1Regularizer(scale) >>> weights = Tensor(np.array([[1.0, -2.0], [-3.0, 4.0]]).astype(np.float32)) >>> output = net(weights) >>> print(output.asnumpy()) 5.0