sequence_enumerate_cn.rst 1.6 KB
Newer Older
H
Hao Wang 已提交
1 2 3 4 5 6 7
.. _cn_api_fluid_layers_sequence_enumerate:

sequence_enumerate
-------------------------------

.. py:function:: paddle.fluid.layers.sequence_enumerate(input, win_size, pad_value=0, name=None)

csdn5211's avatar
csdn5211 已提交
8
枚举形状为 ``[d_1, 1]`` 的输入序列所有长度为 ``win_size`` 的子序列,生成一个形状为 ``[d_1, win_size]`` 的新序列,需要时以 ``pad_value`` 填充。
H
Hao Wang 已提交
9

csdn5211's avatar
csdn5211 已提交
10
注意,该OP的输入 ``input`` 只能是LodTensor。
H
Hao Wang 已提交
11

csdn5211's avatar
csdn5211 已提交
12
范例如下:
H
Hao Wang 已提交
13

csdn5211's avatar
csdn5211 已提交
14
::
H
Hao Wang 已提交
15

csdn5211's avatar
csdn5211 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
        给定输入 x:
            x.lod =  [[0,            3,      5]]
            x.data = [[1], [2], [3], [4], [5]]  
            x.dims = [5, 1]
        设置属性 win_size = 2  pad_value = 0
        
        得到输出 out:
            out.lod =  [[0,                     3,            5]]  
            out.data = [[1, 2], [2, 3], [3, 0], [4, 5], [5, 0]]  
            out.dims = [5, 2]

参数:
        - **input** (Variable)- 输入序列,形状为 ``[d_1, 1]`` ,lod level为1的LodTensor。数据类型支持int32,int64,float32或float64。
        - **win_size** (int)- 子序列窗口大小。
        - **pad_value** (int,可选)- 填充值,默认为0。
        - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。

返回:      枚举序列,形状为 ``[d_1, win_size]`` ,lod_level为1的LoDTensor。数据类型与输入 ``input`` 一致。

返回类型:   Variable
H
Hao Wang 已提交
36 37 38 39 40 41

**代码示例**

..  code-block:: python

      import paddle.fluid as fluid
Z
zq19 已提交
42
      x = fluid.layers.data(name='x',shape=[-1, 1], dtype='int32', lod_level=1)
H
Hao Wang 已提交
43 44 45 46 47 48 49 50 51 52
      out = fluid.layers.sequence_enumerate(input=x, win_size=3, pad_value=0)