快捷方式

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 的全面开发者文档

查看文档

教程

获取适合初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获取问题解答

查看资源