TensorPlay
API symbolsnn
Copy
View MarkdownDownload .md

tensorplay.nn.utils.rnn.unpad_sequence

tensorplay.nn.utils.rnn.unpad_sequence(padded_sequences: TensorBase, lengths: TensorBase, batch_first: bool = False)[source]

Unpad padded Tensor into a list of variable length Tensors.

unpad_sequence unstacks padded Tensor into a list of variable length Tensors.

Example

>>> from tensorplay.nn.utils.rnn import pad_sequence, unpad_sequence
>>> a = tp.ones(25, 300)
>>> b = tp.ones(22, 300)
>>> c = tp.ones(15, 300)
>>> sequences = [a, b, c]
>>> padded_sequences = pad_sequence(sequences)
>>> lengths = tp.as_tensor([v.size(0) for v in sequences])
>>> unpadded_sequences = unpad_sequence(padded_sequences, lengths)
>>> tp.allclose(sequences[0], unpadded_sequences[0])
True
Parameters:
  • padded_sequences (Tensor) – padded sequences.

  • lengths (Tensor) – length of original (unpadded) sequences.

  • batch_first (bool, optional) – whether batch dimension first or not. Default: False.

Returns:

a list of Tensor objects

Ask DeepWiki