Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
810ba40d
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
5
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
810ba40d
编写于
9月 09, 2020
作者:
myq406450149
提交者:
GitHub
9月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
updata norm doc (#2440)
updata norm doc
上级
c9e20815
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
45 addition
and
22 deletion
+45
-22
doc/fluid/api/paddle/norm.rst
doc/fluid/api/paddle/norm.rst
+1
-1
doc/fluid/api/tensor/norm.rst
doc/fluid/api/tensor/norm.rst
+7
-4
doc/paddle/api/paddle/tensor/linalg/norm_cn.rst
doc/paddle/api/paddle/tensor/linalg/norm_cn.rst
+37
-17
未找到文件。
doc/fluid/api/paddle/norm.rst
浏览文件 @
810ba40d
...
...
@@ -2,6 +2,6 @@
norm
-------------------------------
:doc_source: paddle.
fluid.layers.l2_normalize
:doc_source: paddle.
tensor.norm
doc/fluid/api/tensor/norm.rst
浏览文件 @
810ba40d
.. _api_tensor_cn_norm:
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
norm
-------------------------------
:doc_source: paddle.fluid.layers.l2_normalize
.. _api_tensor_linalg_norm:
norm
------------
.. autofunction:: paddle.tensor.linalg.norm
:noindex:
doc/paddle/api/paddle/tensor/linalg/norm_cn.rst
浏览文件 @
810ba40d
...
...
@@ -3,7 +3,7 @@
norm
-------------------------------
.. py:function:: paddle.norm(
input, p='fro', axis=None, keepdim=False, out=Non
e, name=None):
.. py:function:: paddle.norm(
x, p='fro', axis=None, keepdim=Fals
e, name=None):
:alias_main: paddle.norm
:alias: paddle.norm,paddle.tensor.norm,paddle.tensor.linalg.norm
...
...
@@ -13,31 +13,51 @@ norm
该OP将计算给定Tensor的矩阵范数(Frobenius 范数)和向量范数(向量1范数、2范数、或者通常的p范数).
参数:
- **
input** (Variable
) - 输入Tensor。维度为多维,数据类型为float32或float64。
- **p** (float|string, 可选) - 范数
的种类。目前支持的值为 `fro`、 `1`、 `2`,和任何正实数p对应的p范数
。
- **axis** (int|list
, 可选) - 使用范数计算的轴。如果 ``axis`` 为int或者只有一个元素的list,``norm`` API会计算输入Tensor的向量范数。如果axis为包含两个元素的list,API会计算输入Tensor的矩阵范数。 当 ``axis < 0`` 时,实际的计算维度为 rank(input) + axis
。
- **
x** (Tensor
) - 输入Tensor。维度为多维,数据类型为float32或float64。
- **p** (float|string, 可选) - 范数
(ord)的种类。目前支持的值为 `fro`、`inf`、`-inf`、`0`、`1`、`2`,和任何正实数p对应的p范数。默认值为 `fro`
。
- **axis** (int|list
|tuple, 可选) - 使用范数计算的轴。如果 ``axis`` 为None,则忽略input的维度,将其当做向量来计算。如果 ``axis`` 为int或者只有一个元素的list|tuple,``norm`` API会计算输入Tensor的向量范数。如果axis为包含两个元素的list,API会计算输入Tensor的矩阵范数。 当 ``axis < 0`` 时,实际的计算维度为 rank(input) + axis。默认值为 `None`
。
- **keepdim** (bool,可选) - 是否在输出的Tensor中保留和输入一样的维度,默认值为False。当 :attr:`keepdim` 为False时,输出的Tensor会比输入 :attr:`input` 的维度少一些。
- **out** (Variable,可选) - 指定输出的Tensor,默认值为None。out的数据类型必须与输入 ``input`` 一致。
- **name** (str|None) - 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` 。默认值为None。
返回:在指定axis上进行范数计算的Tensor,与输入input数据类型相同。
返回类型:Variable,与输入input数据类型相同。
抛出异常:
- ``TypeError`` - 当输出 ``out`` 和输入 ``input`` 数据类型不一致时候。
- ``ValueError`` - 当参数 ``p`` 或者 ``axis`` 不合法时。
返回:
- 在指定axis上进行范数计算的Tensor,与输入input数据类型相同。
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
x = fluid.data(name='x', shape=[2, 3, 5], dtype='float64')
import numpy as np
paddle.disable_static()
shape=[2, 3, 4]
np_input = np.arange(24).astype('float32') - 12
np_input = np_input.reshape(shape)
x = paddle.to_tensor(np_input)
#[[[-12. -11. -10. -9.] [ -8. -7. -6. -5.] [ -4. -3. -2. -1.]]
# [[ 0. 1. 2. 3.] [ 4. 5. 6. 7.] [ 8. 9. 10. 11.]]]
# compute frobenius norm along last two dimensions.
out_fro = paddle.norm(x, p='fro', axis=[1,2])
out_fro = paddle.norm(x, p='fro', axis=[0,1])
# out_fro.numpy() [17.435596 16.911535 16.7332 16.911535]
# compute 2-order vector norm along last dimension.
out_pnorm = paddle.norm(x, p=2, axis=-1)
#out_pnorm.numpy(): [[21.118711 13.190906 5.477226]
# [ 3.7416575 11.224972 19.131126]]
# compute 2-order norm along [0,1] dimension.
out_pnorm = paddle.norm(x, p=2, axis=[0,1])
#out_pnorm.numpy(): [17.435596 16.911535 16.7332 16.911535]
# compute inf-order norm
out_pnorm = paddle.norm(x, p=np.inf)
#out_pnorm.numpy() = [12.]
out_pnorm = paddle.norm(x, p=np.inf, axis=0)
#out_pnorm.numpy(): [[12. 11. 10. 9.] [8. 7. 6. 7.] [8. 9. 10. 11.]]
# compute -inf-order norm
out_pnorm = paddle.norm(x, p=-np.inf)
#out_pnorm.numpy(): [0.]
out_pnorm = paddle.norm(x, p=-np.inf, axis=0)
#out_pnorm.numpy(): [[0. 1. 2. 3.] [4. 5. 6. 5.] [4. 3. 2. 1.]]
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录