快捷方式

torch.nn.utils.rnn.pack_sequence

torch.nn.utils.rnn.pack_sequence(sequences, enforce_sorted=True)[原始碼][原始碼]

打包一個包含可變長度張量的列表。

連續呼叫以下函式:pad_sequence, pack_padded_sequence

sequences 應該是一個大小為 L x * 的張量列表,其中 L 是序列的長度,而 * 是任意數量的末尾維度,包括 0

對於未排序的序列,請使用 enforce_sorted = False。如果 enforce_sortedTrue,序列應按長度降序排序。enforce_sorted = True 僅在 ONNX 匯出時有必要。

示例

>>> from torch.nn.utils.rnn import pack_sequence
>>> a = torch.tensor([1, 2, 3])
>>> b = torch.tensor([4, 5])
>>> c = torch.tensor([6])
>>> pack_sequence([a, b, c])
PackedSequence(data=tensor([1, 4, 6, 2, 5, 3]), batch_sizes=tensor([3, 2, 1]), sorted_indices=None, unsorted_indices=None)
引數
  • sequences (list[Tensor]) – 按長度降序排列的序列列表。

  • enforce_sorted (bool, optional) – 如果為 True,則檢查輸入是否包含按長度降序排列的序列。如果為 False,則不檢查此條件。預設值:True

返回值

一個 PackedSequence 物件

返回型別

PackedSequence

文件

訪問 PyTorch 的全面開發者文件

檢視文件

教程

獲取適合初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲取問題解答

檢視資源