torch.nn.utils.rnn.pack_padded_sequence¶
- torch.nn.utils.rnn.pack_padded_sequence(input, lengths, batch_first=False, enforce_sorted=True)[來源][來源]¶
封裝包含可變長度填充序列的 Tensor。
input
的大小可以是T x B x *
(如果batch_first
為False
) 或是B x T x *
(如果batch_first
為True
),其中T
是最長序列的長度,B
是批次大小,而*
是任意數量的維度(包含 0)。對於未排序的序列,請使用 enforce_sorted = False。如果
enforce_sorted
為True
,則序列應按長度降序排序,即input[:,0]
應該是最長的序列,而input[:,B-1]
應該是最短的序列。enforce_sorted = True 僅在匯出 ONNX 時是必要的。它是
pad_packed_sequence()
的反向操作,因此可以使用pad_packed_sequence()
來恢復打包在PackedSequence
中的底層張量。注意
此函數接受至少具有兩個維度的任何輸入。 您可以應用它來打包標籤,並將 RNN 的輸出與它們一起使用以直接計算損失。 可以通過訪問其
.data
屬性,從PackedSequence
物件中檢索張量。- 參數
- 返回值
一個
PackedSequence
物件- 返回類型