mindspore.ops.LpNorm ===================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/ops/mindspore.ops.LpNorm.rst :alt: 查看源文件 .. py:class:: mindspore.ops.LpNorm(axis, p=2, keep_dims=False, epsilon=1e-12) 返回输入矩阵或向量的p-范数。 .. math:: output = \|input\|_{p}=\left(\sum_{i=1}^{n}\left|input\right|^{p}\right)^{1 / p} 参数: - **axis** (int,list,tuple) - 指定计算范数的维度。 - **p** (int,可选) - 范数的阶。默认值: ``2`` 。 - **keep_dims** (bool,可选) - 输出Tensor是否保留原有的维度。默认值: ``False`` 。 - **epsilon** (float,可选) - 范数下界,当计算的范数小于此值时,用 `epsilon` 替换该结果。默认值: ``1e-12`` 。 输入: - **input** (Tensor) - 输入Tensor,数据类型为float16或float32。 输出: Tensor,数据类型与 `input` 一致,其shape由 `axis` 决定。如果输入shape为 :math:`(2, 3, 4)` , `axis` 为 :math:`[0, 1]` ,则输出shape为 :math:`(4,)` 。 异常: - **TypeError** - 若 `input` 不是Tensor。 - **TypeError** - 若 `input` 的数据类型不是float16或float32。 - **TypeError** - 若 `p` 不是int。 - **TypeError** - 若 `axis` 不是int、list或tuple。 - **TypeError** - 若 `axis` 是list或tuple,但含有非int元素。 - **TypeError** - 若 `keep_dims` 不是bool。 - **ValueError** - 若 `axis` 的元素不在 :math:`[-r, r)` 范围内,其中 :math:`r` 为 `input` 的秩。 - **ValueError** - 若 `axis` shape长度大于 `input` shape长度。