快速鍵

torch.nn.utils.rnn.unpad_sequence

torch.nn.utils.rnn.unpad_sequence(padded_sequences, lengths, batch_first=False)[原始碼][原始碼]

將填充後的 Tensor 還原成變長 Tensor 的列表。

unpad_sequence 將填充後的 Tensor 解堆疊 (unstacks) 成變長 Tensor 的列表。

範例

>>> from torch.nn.utils.rnn import pad_sequence, unpad_sequence
>>> a = torch.ones(25, 300)
>>> b = torch.ones(22, 300)
>>> c = torch.ones(15, 300)
>>> sequences = [a, b, c]
>>> padded_sequences = pad_sequence(sequences)
>>> lengths = torch.as_tensor([v.size(0) for v in sequences])
>>> unpadded_sequences = unpad_sequence(padded_sequences, lengths)
>>> torch.allclose(sequences[0], unpadded_sequences[0])
True
>>> torch.allclose(sequences[1], unpadded_sequences[1])
True
>>> torch.allclose(sequences[2], unpadded_sequences[2])
True
參數
  • padded_sequences (Tensor) – 填充後的序列。

  • lengths (Tensor) – 原始(未填充)序列的長度。

  • batch_first (bool, optional) – 是否批次維度 (batch dimension) 在前。預設值:False。

回傳

一個 Tensor 物件的列表

回傳類型

List[Tensor]

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources