• 文档 >
  • torch.nn >
  • torch.nn.utils.rnn.pad_sequence
快捷键

torch.nn.utils.rnn.pad_sequence

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

使用 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(列表[Tensor])- 可变长度序列的列表。

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

  • padding_value(float,可选)- 填充元素的值。默认: 0

  • padding_side (str, 可选) – 填充序列的边。默认: 'right' .

返回值:

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

返回类型:

张量


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

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

查看资源