unstack_cn.rst 1.2 KB
Newer Older
H
Hao Wang 已提交
1 2 3 4 5 6 7
.. _cn_api_fluid_layers_unstack:

unstack
-------------------------------

.. py:function:: paddle.fluid.layers.unstack(x, axis=0, num=None)

Y
yiicy 已提交
8
该OP将单个dim为 ``D`` 的Tensor沿 ``axis`` 轴unpack为 ``num`` 个dim为 ``(D-1)`` 的Tensor
H
Hao Wang 已提交
9

Y
yiicy 已提交
10 11 12
参数:
      - **x** (Variable | list(Variable) | tuple(Variable)) – 输入x为 ``dim > 0`` 的Tensor,
      支持的数据类型: float32,float64,int32,int64。
H
Hao Wang 已提交
13

Y
yiicy 已提交
14 15
      - **axis** (int | 可选) – 输入Tensor进行unpack运算所在的轴,axis的范围为:``[-D, D)`` ,
      如果 ``axis < 0`` ,则 :math:`axis = axis + dim(x)`,axis的默认值为0。
H
Hao Wang 已提交
16

Y
yiicy 已提交
17
      - **num** (int | 可选) - axis轴的长度,一般无需设置,默认值为 ``None`` 。
H
Hao Wang 已提交
18

Y
yiicy 已提交
19
返回: 长度为num的Tensor列表, 数据类型与输入Tensor相同,dim为 ``(D-1)``。
H
Hao Wang 已提交
20 21 22

返回类型: list(Variable)

Y
yiicy 已提交
23 24 25
抛出异常:
      - :code:`ValueError`:``x.shape[axis]`` <= 0 或 ``axis`` 不在[-D, D)范围内

H
Hao Wang 已提交
26 27 28 29 30
**代码示例**:

.. code-block:: python

    import paddle.fluid as fluid
Y
yiicy 已提交
31 32
    x = fluid.layers.data(name='x', shape=[2, 3, 5], dtype='float32')  #创建一个shape=[2, 3, 5]的Tensor
    y = fluid.layers.unstack(x, axis=1)  #沿着第1轴进行unpack, unpack后为3个shape=[2,5]的Tensor
H
Hao Wang 已提交
33 34 35 36 37 38 39