torch.nn.utils.rnn.pack_padded_sequence¶
- torch.nn.utils.rnn.pack_padded_sequence(input, lengths, batch_first=False, enforce_sorted=True)[源代码][源代码]¶
打包包含变长填充序列的张量。
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 的输出与它们一起使用以直接计算损失。可以通过访问
PackedSequence
对象的.data
属性从该对象中检索张量。- 参数
- 返回
一个
PackedSequence
对象- 返回类型