sequence_unpad
注解
该OP的输入为Tensor,输出为LoDTensor。该OP用于移除填充元素,与之对应,还存在进行数据填充的OP sequence_pad,详情见:
参数:
x (Variable) – 包含填充元素的Tensor,其维度大小不能小于2,支持的数据类型:float32, float64,int32, int64。
name (str,可选) – 具体用法请参见 Name ,一般无需设置,默认值为None。
返回:将输入的填充元素移除,并返回一个LoDTensor,其递归序列长度与length参数的信息一致,其数据类型和输入一致。
代码示例
import paddle.fluid as fluid
import numpy
# example 1:
len = fluid.data(name='length', shape=[10], dtype='int64')
out = fluid.layers.sequence_unpad(x=x, length=len)
input = fluid.data(name='input', shape=[10, 5], dtype='float32', lod_level=1)
pad_value = fluid.layers.assign(input=numpy.array([0.0], dtype=numpy.float32))
pad_data, len = fluid.layers.sequence_pad(x=input, pad_value=pad_value)
unpad_data = fluid.layers.sequence_unpad(x=pad_data, length=len)