Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
e4ffcfe1
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e4ffcfe1
编写于
9月 26, 2019
作者:
G
gongweibao
提交者:
GitHub
9月 26, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Polish elementwise_max elementwise_min elementwise_pow documents (#1290)
Polish elementwise_max elementwise_min elementwise_pow documents
上级
8c6a20ad
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
150 addition
and
141 deletion
+150
-141
doc/fluid/api_cn/layers_cn/elementwise_max_cn.rst
doc/fluid/api_cn/layers_cn/elementwise_max_cn.rst
+58
-44
doc/fluid/api_cn/layers_cn/elementwise_min_cn.rst
doc/fluid/api_cn/layers_cn/elementwise_min_cn.rst
+58
-46
doc/fluid/api_cn/layers_cn/elementwise_pow_cn.rst
doc/fluid/api_cn/layers_cn/elementwise_pow_cn.rst
+34
-51
未找到文件。
doc/fluid/api_cn/layers_cn/elementwise_max_cn.rst
浏览文件 @
e4ffcfe1
...
...
@@ -4,22 +4,22 @@ elementwise_max
-------------------------------
.. py:function:: paddle.fluid.layers.elementwise_max(x, y, axis=-1, act=None, name=None)
最大元素算子
该OP逐元素对比输入的两个多维Tensor,并且把各个位置更大的元素保存到返回结果中。
等式是:
.. math::
Out = max(X, Y)
- :math:`X` :
任何维度的张量(Tensor)
。
- :math:`Y` :
维度必须小于或等于X维度的张量(Tensor)
。
- :math:`X` :
多维Tensor
。
- :math:`Y` :
多维Tensor
。
此运算算子有两种情况:
1. :math:`Y` 的
形状(shape)
与 :math:`X` 相同。
2. :math:`Y` 的
形状(shape)
是 :math:`X` 的连续子序列。
1. :math:`Y` 的
``shape``
与 :math:`X` 相同。
2. :math:`Y` 的
``shape``
是 :math:`X` 的连续子序列。
对于情况2:
1. 用 :math:`Y`
匹配 :math:`X` 的形状(shape),其中 ``axis`` 将是 :math:`Y` 传到 :math:`X` 上的起始维度索引
。
1. 用 :math:`Y`
的 ``shape`` 匹配 :math:`X` 的 ``shape``,其中 ``axis`` 是 :math:`Y` 在 :math:`X` 上的起始维度的位置
。
2. 如果 ``axis`` 为-1(默认值),则 :math:`axis = rank(X)-rank(Y)` 。
3. 考虑到子序列, :math:`Y` 的大小为1的尾部维度将被忽略,例如shape(Y)=(2,1)=>(2)。
...
...
@@ -34,51 +34,65 @@ elementwise_max
shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0
shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0
输入X和Y可以携带不同的LoD信息。但输出仅与输入X共享LoD信息。
参数:
- **x** (Tensor)- 第一个输入张量(Tensor)。
- **y** (Tensor)- 第二个输入张量(Tensor)。
- **axis** (INT)- (int,默认-1)。将Y传到X上的起始维度索引。
- **act** (basestring | None)- 激活函数名称,应用于输出。
- **name** (basestring | None)- 输出的名称。
- **x** (Variable)- 多维Tensor。数据类型为 ``float32`` 、 ``float64`` 、 ``int32`` 或 ``int64`` 。
- **y** (Variable)- 多维Tensor。数据类型为 ``float32`` 、 ``float64`` 、 ``int32`` 或 ``int64`` 。
- **axis** (int32, 可选)- Y的维度对应到X维度上时的索引。默认值为 -1。
- **act** (string, 可选)- 激活函数名称,作用于输出上。默认值为None。详细请参考 :ref:`api_guide_activations` , 常见的激活函数有: ``relu`` ``tanh`` ``sigmoid`` 等。
- **name** (string, 可选)- 输出的名字。默认值为None。该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` 。
返回: 维度和数据类型与 ``x`` 相同的多维Tensor。
返回类型: 多维Tensor。
**代码示例 1**
.. code-block:: python
import paddle.fluid as fluid
import numpy as np
返回: 元素运算的输出。
def gen_data():
return {
"x": np.array([2, 3, 4]),
"y": np.array([1, 5, 2])
}
**代码示例**
x = fluid.layers.data(name="x", shape=[3], dtype='float32')
y = fluid.layers.data(name="y", shape=[3], dtype='float32')
z = fluid.layers.elementwise_max(x, y)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
z_value = exe.run(feed=gen_data(),
fetch_list=[z.name])
print(z_value) #[2, 5, 4]
**代码示例 2**
.. code-block:: python
import paddle.fluid as fluid
# 例1: shape(x) = (2, 3, 4, 5), shape(y) = (2, 3, 4, 5)
x0 = fluid.layers.data(name="x0", shape=[2, 3, 4, 5], dtype='float32')
y0 = fluid.layers.data(name="y0", shape=[2, 3, 4, 5], dtype='float32')
z0 = fluid.layers.elementwise_max(x0, y0)
# 例2: shape(X) = (2, 3, 4, 5), shape(Y) = (5)
x1 = fluid.layers.data(name="x1", shape=[2, 3, 4, 5], dtype='float32')
y1 = fluid.layers.data(name="y1", shape=[5], dtype='float32')
z1 = fluid.layers.elementwise_max(x1, y1)
# 例3: shape(X) = (2, 3, 4, 5), shape(Y) = (4, 5), with axis=-1(default) or axis=2
x2 = fluid.layers.data(name="x2", shape=[2, 3, 4, 5], dtype='float32')
y2 = fluid.layers.data(name="y2", shape=[4, 5], dtype='float32')
z2 = fluid.layers.elementwise_max(x2, y2, axis=2)
# 例4: shape(X) = (2, 3, 4, 5), shape(Y) = (3, 4), with axis=1
x3 = fluid.layers.data(name="x3", shape=[2, 3, 4, 5], dtype='float32')
y3 = fluid.layers.data(name="y3", shape=[3, 4], dtype='float32')
z3 = fluid.layers.elementwise_max(x3, y3, axis=1)
# 例5: shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0
x4 = fluid.layers.data(name="x4", shape=[2, 3, 4, 5], dtype='float32')
y4 = fluid.layers.data(name="y4", shape=[2], dtype='float32')
z4 = fluid.layers.elementwise_max(x4, y4, axis=0)
# 例6: shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0
x5 = fluid.layers.data(name="x5", shape=[2, 3, 4, 5], dtype='float32')
y5 = fluid.layers.data(name="y5", shape=[2], dtype='float32')
z5 = fluid.layers.elementwise_max(x5, y5, axis=0)
import numpy as np
def gen_data():
return {
"x": np.ones((2, 3, 4, 5)).astype('float32'),
"y": np.zeros((3, 4)).astype('float32')
}
x = fluid.layers.data(name="x", shape=[2,3,4,5], dtype='float32')
y = fluid.layers.data(name="y", shape=[3,4], dtype='float32')
z = fluid.layers.elementwise_max(x, y, axis=1)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
z_value = exe.run(feed=gen_data(),
fetch_list=[z.name])
print(z_value)#[[[[1., 1., 1., 1., 1.] .... [1., 1., 1., 1., 1.]]]]
...
...
doc/fluid/api_cn/layers_cn/elementwise_min_cn.rst
浏览文件 @
e4ffcfe1
...
...
@@ -4,23 +4,22 @@ elementwise_min
-------------------------------
.. py:function:: paddle.fluid.layers.elementwise_min(x, y, axis=-1, act=None, name=None)
最小元素算子
该OP逐元素对比输入的两个多维Tensor,并且把各个位置更小的元素保存到返回结果中。
等式是:
.. math::
Out = min(X, Y)
- :math:`X` :
任何维度的张量(Tensor)
。
- :math:`Y` :
维度必须小于或等于X维度的张量(Tensor)
。
- :math:`X` :
多维Tensor
。
- :math:`Y` :
多维Tensor
。
此运算算子有两种情况:
1. :math:`Y` 的
形状(shape)
与 :math:`X` 相同。
2. :math:`Y` 的
形状(shape)
是 :math:`X` 的连续子序列。
1. :math:`Y` 的
``shape``
与 :math:`X` 相同。
2. :math:`Y` 的
``shape``
是 :math:`X` 的连续子序列。
对于情况2:
1. 用 :math:`Y`
匹配 :math:`X` 的形状(shape),其中 ``axis`` 将是 :math:`Y` 传到 :math:`X` 上的起始维度索引
。
1. 用 :math:`Y`
的 ``shape`` 匹配 :math:`X` 的 ``shape``,其中 ``axis`` 是 :math:`Y` 在 :math:`X` 上的起始维度的位置
。
2. 如果 ``axis`` 为-1(默认值),则 :math:`axis = rank(X)-rank(Y)` 。
3. 考虑到子序列, :math:`Y` 的大小为1的尾部维度将被忽略,例如shape(Y)=(2,1)=>(2)。
...
...
@@ -35,52 +34,65 @@ elementwise_min
shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0
shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0
输入X和Y可以携带不同的LoD信息。但输出仅与输入X共享LoD信息。
参数:
- **x** (Tensor)- 第一个输入张量(Tensor)。
- **y** (Tensor)- 第二个输入张量(Tensor)。
- **axis** (INT)- (int,默认-1)。将Y传到X上的起始维度索引。
- **act** (basestring | None)- 激活函数名称,应用于输出。
- **name** (basestring | None)- 输出的名称。
- **x** (Variable)- 多维Tensor。数据类型为 ``float32`` 、 ``float64`` 、 ``int32`` 或 ``int64`` 。
- **y** (Variable)- 多维Tensor。数据类型为 ``float32`` 、 ``float64`` 、 ``int32`` 或 ``int64`` 。
- **axis** (int32, 可选)- Y的维度对应到X维度上时的索引。默认值为 -1。
- **act** (string, 可选)- 激活函数名称,作用于输出上。默认值为None。详细请参考 :ref:`api_guide_activations` , 常见的激活函数有: ``relu`` ``tanh`` ``sigmoid`` 等。
- **name** (string, 可选)- 输出的名字。默认值为None。该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` 。
返回: 维度和数据类型与 ``x`` 相同的多维Tensor。
返回
: 元素运算的输出
。
返回
类型: 多维Tensor
。
**代码示例**
**代码示例
1
**
.. code-block:: python
import paddle.fluid as fluid
# 例1: shape(x) = (2, 3, 4, 5), shape(y) = (2, 3, 4, 5)
x0 = fluid.layers.data(name="x0", shape=[2, 3, 4, 5], dtype='float32')
y0 = fluid.layers.data(name="y0", shape=[2, 3, 4, 5], dtype='float32')
z0 = fluid.layers.elementwise_min(x0, y0)
# 例2: shape(X) = (2, 3, 4, 5), shape(Y) = (5)
x1 = fluid.layers.data(name="x1", shape=[2, 3, 4, 5], dtype='float32')
y1 = fluid.layers.data(name="y1", shape=[5], dtype='float32')
z1 = fluid.layers.elementwise_min(x1, y1)
# 例3: shape(X) = (2, 3, 4, 5), shape(Y) = (4, 5), with axis=-1(default) or axis=2
x2 = fluid.layers.data(name="x2", shape=[2, 3, 4, 5], dtype='float32')
y2 = fluid.layers.data(name="y2", shape=[4, 5], dtype='float32')
z2 = fluid.layers.elementwise_min(x2, y2, axis=2)
# 例4: shape(X) = (2, 3, 4, 5), shape(Y) = (3, 4), with axis=1
x3 = fluid.layers.data(name="x3", shape=[2, 3, 4, 5], dtype='float32')
y3 = fluid.layers.data(name="y3", shape=[3, 4], dtype='float32')
z3 = fluid.layers.elementwise_min(x3, y3, axis=1)
# 例5: shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0
x4 = fluid.layers.data(name="x4", shape=[2, 3, 4, 5], dtype='float32')
y4 = fluid.layers.data(name="y4", shape=[2], dtype='float32')
z4 = fluid.layers.elementwise_min(x4, y4, axis=0)
# 例6: shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0
x5 = fluid.layers.data(name="x5", shape=[2, 3, 4, 5], dtype='float32')
y5 = fluid.layers.data(name="y5", shape=[2], dtype='float32')
z5 = fluid.layers.elementwise_min(x5, y5, axis=0)
import numpy as np
def gen_data():
return {
"x": np.array([2, 3, 4]),
"y": np.array([1, 5, 2])
}
x = fluid.layers.data(name="x", shape=[3], dtype='float32')
y = fluid.layers.data(name="y", shape=[3], dtype='float32')
z = fluid.layers.elementwise_max(x, y)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
z_value = exe.run(feed=gen_data(),
fetch_list=[z.name])
print(z_value) #[1, 3, 2]
**代码示例 2**
.. code-block:: python
import paddle.fluid as fluid
import numpy as np
def gen_data():
return {
"x": np.ones((2, 3, 4, 5)).astype('float32'),
"y": np.zeros((3, 4)).astype('float32')
}
x = fluid.layers.data(name="x", shape=[2,3,4,5], dtype='float32')
y = fluid.layers.data(name="y", shape=[3,4], dtype='float32')
z = fluid.layers.elementwise_max(x, y, axis=1)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
z_value = exe.run(feed=gen_data(),
fetch_list=[z.name])
print(z_value)#[[[[0., 0., 0., 0., 0.] .... [0., 0., 0., 0., 0.]]]]
...
...
doc/fluid/api_cn/layers_cn/elementwise_pow_cn.rst
浏览文件 @
e4ffcfe1
...
...
@@ -4,27 +4,26 @@ elementwise_pow
-------------------------------
.. py:function:: paddle.fluid.layers.elementwise_pow(x, y, axis=-1, act=None, name=None)
逐元素幂运算算子
该OP逐元素对输入Tensor进行幂操作。
等式是:
.. math::
Out = X ^ Y
- :math:`X` :
任何维度的张量(Tensor)
。
- :math:`Y` :
维度必须小于或等于X维度的张量(Tensor)
。
- :math:`X` :
多维Tensor
。
- :math:`Y` :
多维Tensor
。
此运算算子有两种情况:
1. :math:`Y` 的
形状(shape)
与 :math:`X` 相同。
2. :math:`Y` 的
形状(shape)
是 :math:`X` 的连续子序列。
1. :math:`Y` 的
``shape``
与 :math:`X` 相同。
2. :math:`Y` 的
``shape``
是 :math:`X` 的连续子序列。
对于情况2:
1. 用 :math:`Y`
匹配 :math:`X` 的形状(shape),其中 ``axis`` 将是 :math:`Y` 传到 :math:`X` 上的起始维度索引
。
1. 用 :math:`Y`
的 ``shape`` 匹配 :math:`X` 的 ``shape``,其中 ``axis`` 是 :math:`Y` 在 :math:`X` 上的起始维度的位置
。
2. 如果 ``axis`` 为-1(默认值),则 :math:`axis = rank(X)-rank(Y)` 。
3. 考虑到子序列, :math:`Y` 的大小为1的尾
随
维度将被忽略,例如shape(Y)=(2,1)=>(2)。
3. 考虑到子序列, :math:`Y` 的大小为1的尾
部
维度将被忽略,例如shape(Y)=(2,1)=>(2)。
**代码示例**
例如:
.. code-block:: text
...
...
@@ -35,56 +34,40 @@ elementwise_pow
shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0
shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0
输入X和Y可以携带不同的LoD信息。但输出仅与输入X共享LoD信息。
参数:
- **x** (Tensor)- 第一个输入张量(Tensor)。
- **y** (Tensor)- 第二个输入张量(Tensor)。
- **axis** (INT)- (int,默认-1)。将Y传到X上的起始维度索引。
- **act** (basestring | None)- 激活函数名称,应用于输出。
- **name** (basestring | None)- 输出的名称。
- **x** (Variable)- 多维Tensor。数据类型为 ``float32`` 、 ``float64`` 、 ``int32`` 或 ``int64`` 。
- **y** (Variable)- 多维Tensor。数据类型为 ``float32`` 、 ``float64`` 、 ``int32`` 或 ``int64`` 。
- **axis** (int32, 可选)- Y的维度对应到X维度上时的索引。默认值为 -1。
- **act** (string, 可选)- 激活函数名称,作用于输出上。默认值为None。详细请参考 :ref:`api_guide_activations` , 常见的激活函数有: ``relu`` ``tanh`` ``sigmoid`` 等。
- **name** (string, 可选)- 输出的名字。默认值为None。该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` 。
返回: 维度和数据类型与 ``x`` 相同的多维Tensor。
返回
: 元素运算的输出
。
返回
类型: 多维Tensor
。
**代码示例**
.. code-block:: python
# 例1: shape(x) = (2, 3, 4, 5), shape(y) = (2, 3, 4, 5)
import paddle.fluid as fluid
x0 = fluid.layers.data(name="x0", shape=[2, 3, 4, 5], dtype='float32')
y0 = fluid.layers.data(name="y0", shape=[2, 3, 4, 5], dtype='float32')
z0 = fluid.layers.elementwise_pow(x0, y0)
# 例2: shape(X) = (2, 3, 4, 5), shape(Y) = (5)
import paddle.fluid as fluid
x1 = fluid.layers.data(name="x1", shape=[2, 3, 4, 5], dtype='float32')
y1 = fluid.layers.data(name="y1", shape=[5], dtype='float32')
z1 = fluid.layers.elementwise_pow(x1, y1)
# 例3: shape(X) = (2, 3, 4, 5), shape(Y) = (4, 5), with axis=-1(default) or axis=2
import paddle.fluid as fluid
x2 = fluid.layers.data(name="x2", shape=[2, 3, 4, 5], dtype='float32')
y2 = fluid.layers.data(name="y2", shape=[4, 5], dtype='float32')
z2 = fluid.layers.elementwise_pow(x2, y2, axis=2)
# 例4: shape(X) = (2, 3, 4, 5), shape(Y) = (3, 4), with axis=1
import paddle.fluid as fluid
x3 = fluid.layers.data(name="x3", shape=[2, 3, 4, 5], dtype='float32')
y3 = fluid.layers.data(name="y3", shape=[3, 4], dtype='float32')
z3 = fluid.layers.elementwise_pow(x3, y3, axis=1)
# 例5: shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0
import paddle.fluid as fluid
x4 = fluid.layers.data(name="x4", shape=[2, 3, 4, 5], dtype='float32')
y4 = fluid.layers.data(name="y4", shape=[2], dtype='float32')
z4 = fluid.layers.elementwise_pow(x4, y4, axis=0)
# 例6: shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0
import paddle.fluid as fluid
x5 = fluid.layers.data(name="x5", shape=[2, 3, 4, 5], dtype='float32')
y5 = fluid.layers.data(name="y5", shape=[2], dtype='float32')
z5 = fluid.layers.elementwise_pow(x5, y5, axis=0)
import numpy as np
def gen_data():
return {
"x": np.array([2, 3, 4]),
"y": np.array([1, 5, 2])
}
x = fluid.layers.data(name="x", shape=[3], dtype='float32')
y = fluid.layers.data(name="y", shape=[3], dtype='float32')
z = fluid.layers.elementwise_pow(x, y)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
z_value = exe.run(feed=gen_data(),
fetch_list=[z.name])
print(z_value) #[2, 243, 16]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录