mindspore.nn.L1Regularizer
- class mindspore.nn.L1Regularizer(scale)[源代码]
对权重计算L1正则化。
L1正则化可导致稀疏权重。
\[\text{loss}=\lambda * \text{reduce_sum}(\text{abs}(\omega))\]\(\lambda\) 代表 scale 。
Note
正则化因子应为大于0。
- 参数:
scale (int, float) - L1正则化因子,其值大于0。
- 输入:
weights (Tensor) - L1Regularizer的输入,任意维度的Tensor,数据类型为float16或float32。
- 输出:
Tensor,其shape为(),默认数据类型为mindspore.float32,如果权重的数据类型精度更高,则以权重的数据类型作为输出数据类型。
- 异常:
TypeError - scale 既不是int也不是float。
ValueError - scale 不大于0。
ValueError - scale 是math.inf或math.nan。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> 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