Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
9246f2bb
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看板
未验证
提交
9246f2bb
编写于
4月 15, 2020
作者:
Z
Zhang Ting
提交者:
GitHub
4月 15, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add dist API doc, test=develop (#1983)
上级
01d6e547
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
95 addition
and
1 deletion
+95
-1
doc/fluid/api/index_en.rst
doc/fluid/api/index_en.rst
+1
-0
doc/fluid/api/tensor.rst
doc/fluid/api/tensor.rst
+1
-0
doc/fluid/api/tensor/linalg.rst
doc/fluid/api/tensor/linalg.rst
+8
-0
doc/fluid/api/tensor/linalg/dist.rst
doc/fluid/api/tensor/linalg/dist.rst
+11
-0
doc/fluid/api_cn/index_cn.rst
doc/fluid/api_cn/index_cn.rst
+1
-0
doc/fluid/api_cn/tensor_cn/dist_cn.rst
doc/fluid/api_cn/tensor_cn/dist_cn.rst
+73
-1
未找到文件。
doc/fluid/api/index_en.rst
浏览文件 @
9246f2bb
...
@@ -24,5 +24,6 @@ API Reference
...
@@ -24,5 +24,6 @@ API Reference
optimizer.rst
optimizer.rst
profiler.rst
profiler.rst
regularizer.rst
regularizer.rst
tensor.rst
transpiler.rst
transpiler.rst
unique_name.rst
unique_name.rst
doc/fluid/api/tensor.rst
浏览文件 @
9246f2bb
...
@@ -5,5 +5,6 @@ paddle.tensor
...
@@ -5,5 +5,6 @@ paddle.tensor
.. toctree::
.. toctree::
:maxdepth: 1
:maxdepth: 1
tensor/linalg.rst
tensor/math.rst
tensor/math.rst
tensor/random.rst
tensor/random.rst
doc/fluid/api/tensor/linalg.rst
0 → 100644
浏览文件 @
9246f2bb
======
linalg
======
.. toctree::
:maxdepth: 1
linalg/dist.rst
doc/fluid/api/tensor/linalg/dist.rst
0 → 100644
浏览文件 @
9246f2bb
.. THIS FILE IS GENERATED BY `gen_doc.{py|sh}`
!DO NOT EDIT THIS FILE MANUALLY!
.. _api_tensor_linalg_dist:
dist
--------
.. autofunction:: paddle.tensor.linalg.dist
:noindex:
doc/fluid/api_cn/index_cn.rst
浏览文件 @
9246f2bb
...
@@ -24,5 +24,6 @@ API Reference
...
@@ -24,5 +24,6 @@ API Reference
optimizer_cn.rst
optimizer_cn.rst
profiler_cn.rst
profiler_cn.rst
regularizer_cn.rst
regularizer_cn.rst
tensor_cn.rst
transpiler_cn.rst
transpiler_cn.rst
unique_name_cn.rst
unique_name_cn.rst
doc/fluid/api_cn/tensor_cn/dist_cn.rst
浏览文件 @
9246f2bb
.. _cn_api_tensor_linalg_dist:
dist
dist
-------------------------------
-------------------------------
**版本升级,文档正在开发中**
.. py:function:: paddle.tensor.linalg.dist(x, y, p=2)
该OP用于计算 `(x-y)` 的 p 范数(p-norm),需要注意这不是严格意义上的范数,仅作为距离的度量。输入 `x` 和 `y` 的形状(shape)必须是可广播的(broadcastable)。其含义如下,详情请参考 `numpy的广播概念 <https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html>`_ :
- 每个输入都至少有1维
- 对两个输入的维度从后向前匹配,两个输入每一维的大小需要满足3个条件中的任意一个:相等、其中一个为1或者其中一个不存在。
定义 `z = x - y` ,`x` 和 `y` 的形状是可广播的,那么 `z` 的形状可按照下列步骤得到:
(1) 如果 `x` 和 `y` 的维数不同,先对维数较少的这个输入的维度往前补1。
例如,`x` 的形状为[8, 1, 6, 1],`y` 的形状为[7, 1, 5],对 `y` 的维度补1,
x (4-D Tensor): 8 x 1 x 6 x 1
y (4-D Tensor): 1 x 7 x 1 x 5
(2) 确定输出 `z` 每一维度的大小:从两个输入的维度中选取最大值。
z (4-D Tensor): 8 x 7 x 6 x 5
若两个输入的维数相同,则输出的大小可直接用步骤2确定。以下是 `p` 取不同值时,范数的计算公式:
当 `p = 0` ,定义 $0^0 = 0$,则 z 的零范数是 `z` 中非零元素的个数。
.. math::
||z||_{0}=\lim_{p \rightarrow 0}\sum_{i=1}^{m}|z_i|^{p}
当 `p = inf` ,`z` 的无穷范数是 `z` 所有元素中的最大值。
.. math::
||z||_\infty=\max_i |z_i|
当 `p = -inf` ,`z` 的负无穷范数是 `z` 所有元素中的最小值。
.. math::
||z||_{-\infty}=\min_i |z_i|
其他情况下,`z` 的 `p` 范数使用以下公式计算:
.. math::
||z||_{p}=(\sum_{i=1}^{m}|z_i|^p)^{\frac{1}{p}}
参数:
- **x** (Variable): 1-D 到 6-D Tensor,数据类型为float32或float64。
- **y** (Variable): 1-D 到 6-D Tensor,数据类型为float32或float64。
- **p** (float, optional): 用于设置需要计算的范数,数据类型为float32或float64。默认值为2.
返回: `(x-y)` 的 `p` 范数。
返回类型: Variable
**代码示例**:
.. code-block:: python
import paddle
import paddle.fluid as fluid
import numpy as np
with fluid.dygraph.guard():
x = fluid.dygraph.to_variable(np.array([[3, 3],[3, 3]]).astype(np.float32))
y = fluid.dygraph.to_variable(np.array([[3, 3],[3, 1]]).astype(np.float32))
out = paddle.dist(x, y, 0)
print(out.numpy()) # out = [1.]
out = paddle.dist(x, y, 2)
print(out.numpy()) # out = [2.]
out = paddle.dist(x, y, float("inf"))
print(out.numpy()) # out = [2.]
out = paddle.dist(x, y, float("-inf"))
print(out.numpy()) # out = [0.]
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录