unstack_cn.rst 1.3 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)

S
swtkiwi 已提交
8 9 10 11 12 13
:alias_main: paddle.unstack
:alias: paddle.unstack,paddle.tensor.unstack,paddle.tensor.manipulation.unstack
:old_api: paddle.fluid.layers.unstack



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

Y
yiicy 已提交
16
参数:
M
MRXLT 已提交
17
      - **x** (Tensor) – 输入x为 ``dim > 0`` 的Tensor,
Y
yiicy 已提交
18
      支持的数据类型: float32,float64,int32,int64。
H
Hao Wang 已提交
19

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

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

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

M
MRXLT 已提交
27
返回类型: list(Tensor)
H
Hao Wang 已提交
28

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

H
Hao Wang 已提交
32 33 34 35 36
**代码示例**:

.. code-block:: python

    import paddle.fluid as fluid
M
MRXLT 已提交
37
    x = fluid.data(name='x', shape=[2, 3, 5], dtype='float32')  #创建一个shape=[2, 3, 5]的Tensor
Y
yiicy 已提交
38
    y = fluid.layers.unstack(x, axis=1)  #沿着第1轴进行unpack, unpack后为3个shape=[2,5]的Tensor
H
Hao Wang 已提交
39 40 41 42 43 44 45