sequence_slice

    • sequence_slice(input, offset, length, name=None)[源代码]

    该OP输入只能是LoDTensor, 如果您需要处理的是Tensor类型,请使用 :ref: 。 该层从给定序列中截取子序列。截取依据为所给的开始 offset (偏移量) 和子序列长 。

    • ::
      • 输入变量:
      • input (Variable) – 输入变量,类型为LoDTensor,承载着完整的序列
      • offset (Variable) – 指定每个序列切片的起始索引,数据类型为int32或int64。
      • length (Variable) – 指定每个子序列的长度,数据类型为int32或int64。
      • name (str,可选) – 具体用法请参见 ,一般无需设置,默认值为None。

    返回:Variable(LoDTensor) 序列切片运算结果

    代码示例

    1. import paddle.fluid as fluid
    2. seqs = fluid.layers.data(name='x', shape=[10, 5],
    3. dtype='float32', lod_level=1)
    4. offset = fluid.layers.assign(input=np.array([[0, 1]]).astype("int32"))
    5. length = fluid.layers.assign(input=np.array([[2, 1]]).astype("int32"))
    6. subseqs = fluid.layers.sequence_slice(input=seqs, offset=offset,
    7. length=length)