unpad_sequence
- paddle.nn.utils. unpad_sequence ( padded_sequences: Tensor, lengths: Tensor, batch_first: bool = False ) list[Tensor] [source]
-
Unpad a padded Tensor into a list of variable length Tensors.
unpad_sequenceunstacks a padded Tensor into a list of variable length Tensors.- Parameters
-
padded_sequences (Tensor) – padded sequences.
lengths (Tensor) – length of original (unpadded) sequences.
batch_first (bool, optional) – whether batch dimension is first or not. Default:
False.
- Returns
-
a list of Tensor objects with original lengths.
- Return type
-
list[Tensor]
Examples
>>> import paddle >>> a = paddle.ones([25, 300]) >>> b = paddle.ones([22, 300]) >>> c = paddle.ones([15, 300]) >>> sequences = [a, b, c] >>> padded = paddle.nn.utils.pad_sequence(sequences) >>> lengths = paddle.to_tensor([v.shape[0] for v in sequences]) >>> unpadded = paddle.nn.utils.unpad_sequence(padded, lengths) >>> paddle.allclose(sequences[0], unpadded[0]).item() True >>> paddle.allclose(sequences[1], unpadded[1]).item() True >>> paddle.allclose(sequences[2], unpadded[2]).item() True
