未验证 提交 5a7af2fa 编写于 作者: Z zhaoyuchen2018 提交者: GitHub

Refine stack op api doc (#1193)

* Refine stack op api doc

test=develop
Signed-off-by: Nzhaoyuchen <zhaoyuchen01@baidu.com>

* refine stack api
Signed-off-by: Nzhaoyuchen <zhaoyuchen01@baidu.com>
上级 7529ea23
......@@ -5,59 +5,57 @@ stack
.. py:function:: paddle.fluid.layers.stack(x, axis=0)
实现了stack层。
沿 ``axis`` 轴,该层对输入 ``x`` 进行stack运算
该OP沿 ``axis`` 轴对输入 ``x`` 进行堆叠操作
输入 x 可以是单个变量, 或是多个变量组成的列表或元组。如果 x 是一个列表或元组, 那么这些变量必须同形。 假设每个输入的形都为 :math:`[d_0,d_1,...,d_{n−1}]` , 则输出变量的形为 :math:`[d_0,d_1,...,d_{axis}=len(x),...,d_{n−1}]` 。 如果 ``axis`` < 0, 则将其取代为 :math:`axis+rank(x[0])+1` 。 如果 ``axis`` 为 None, 则认为它是 0。
- 例1:
.. code-block:: python
例如:
.. code-block:: text
例1:
输入:
输入:
x[0].shape = [1, 2]
x[0].data = [ [1.0 , 2.0 ] ]
x[0].dims = [1, 2]
x[1].shape = [1, 2]
x[1].data = [ [3.0 , 4.0 ] ]
x[1].dims = [1, 2]
x[2].shape = [1, 2]
x[2].data = [ [5.0 , 6.0 ] ]
x[2].dims = [1, 2]
参数:
axis = 0
参数:
axis = 0 #沿着第0维对输入x进行堆叠操作。
输出:
Out.data =[ [ [1.0, 2.0] ],
输出:
Out.shape = [3, 1, 2]
Out.data = [ [ [1.0, 2.0] ],
[ [3.0, 4.0] ],
[ [5.0, 6.0] ] ]
Out.dims = [3, 1, 2]
例2:
如果
- 例2:
.. code-block:: python
输入:
x[0].shape = [1, 2]
x[0].data = [ [1.0 , 2.0 ] ]
x[0].dims = [1, 2]
x[1].shape = [1, 2]
x[1].data = [ [3.0 , 4.0 ] ]
x[1].dims = [1, 2]
x[2].shape = [1, 2]
x[2].data = [ [5.0 , 6.0 ] ]
x[2].dims = [1, 2]
参数:
axis = 1 or axis = -2
参数:
axis = 1 or axis = -2 #沿着第1维对输入进行堆叠操作。
输出:
Out.data =[ [ [1.0, 2.0]
输出:
Out.shape = [1, 3, 2]
Out.data = [ [ [1.0, 2.0]
[3.0, 4.0]
[5.0, 6.0] ] ]
Out.dims = [1, 3, 2]
参数:
- **x** (Variable|list(Variable)) – 输入 x 可以是单个Tensor,或是多个Tensor组成的列表。如果 x 是一个列表,那么这些Tensor的维度必须相同。 假设输入是N维Tensor :math:`[d_0,d_1,...,d_{n−1}]`,则输出变量的维度为N+1维 :math:`[d_0,d_1,...d_{axis-1},len(x),d_{axis}...,d_{n−1}]` 。支持的数据类型: float32,float64,int32,int64。
- **axis** (int, 可选) – 指定对输入Tensor进行堆叠运算的轴,有效 ``axis`` 的范围是: :math:`[-(R+1), R+1)`,R是输入中第一个Tensor的rank。如果 ``axis`` < 0,则 :math:`axis=axis+rank(x[0])+1` 。axis默认值为0。
- **x** (Variable|list(Variable)|tuple(Variable)) – 输入变量
- **axis** (int|None) – 对输入进行stack运算所在的轴
返回: 经stack运算后的变量
返回: 堆叠运算后的Tensor,数据类型与输入Tensor相同。输出维度等于 :math:`rank(x[0])+1` 维。
返回类型: Variable
......@@ -69,7 +67,13 @@ stack
import paddle.fluid.layers as layers
x1 = layers.data(name='x1', shape=[1, 2], dtype='int32')
x2 = layers.data(name='x2', shape=[1, 2], dtype='int32')
data = layers.stack([x1,x2])
#对Tensor List进行堆叠
data = layers.stack([x1,x2]) # 沿着第0轴进行堆叠,data.shape=[2, 1, 2]
data = layers.stack([x1,x2], axis=1) # 沿着第1轴进行堆叠,data.shape=[1, 2, 2]
#单个Tensor的堆叠
data = layers.stack(x1) # 沿着第0轴进行堆叠,data.shape=[1, 1, 2]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册