評價此頁

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 of Tensor) – 長度遞減的序列列表。

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

返回

一個 PackedSequence 物件

返回型別

PackedSequence