快捷方式

torch.nn.utils.rnn.pad_sequence

torch.nn.utils.rnn.pad_sequence(sequences, batch_first=False, padding_value=0.0, padding_side='right')[源代码]

使用 padding_value 对可变长度张量的列表进行填充。

pad_sequence 沿新维度堆叠张量列表,并将它们填充到相等长度。sequences 可以是大小为 L x * 的序列列表,其中 L 是序列的长度,* 是任意数量的维度(包括 0)。如果 batch_firstFalse,则输出大小为 T x B x *,否则为 B x T x *,其中 B 是批次大小(sequences 中元素的数量),T 是最长序列的长度。

示例

>>> from torch.nn.utils.rnn import pad_sequence
>>> a = torch.ones(25, 300)
>>> b = torch.ones(22, 300)
>>> c = torch.ones(15, 300)
>>> pad_sequence([a, b, c]).size()
torch.Size([25, 3, 300])

注意

此函数返回大小为 T x B x *B x T x * 的张量,其中 T 是最长序列的长度。此函数假定 sequences 中所有张量的尾随维度和类型相同。

参数
  • sequences (列表[张量]) – 可变长度序列的列表。

  • batch_first (布尔值, 可选) – 如果为 True,则输出将采用 B x T x * 格式,否则为 T x B x *

  • padding_value (浮点数, 可选) – 填充元素的值。默认值:0。

  • padding_side (字符串, 可选) – 要填充序列的侧面。默认值:“right”。

返回

如果 batch_firstFalse,则返回大小为 T x B x * 的张量。否则返回大小为 B x T x * 的张量。

返回类型

张量

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源