torch.nn.utils.rnn.pad_sequence¶
- torch.nn.utils.rnn.pad_sequence(sequences, batch_first=False, padding_value=0.0)[源代码]¶
用
padding_value填充长度可变的张量列表。pad_sequence将一个张量列表沿新维度堆叠,并将其填充到相同长度。例如,如果输入是一个大小为L x *的序列列表,并且batch_first为 False,则输出的大小为T x B x *。B 是批次大小。它等于
sequences中的元素数量。 T 是最长序列的长度。 L 是序列的长度。 * 是任意数量的尾随维度,包括无。示例
>>> 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 是最长序列的长度。此函数假设序列中所有张量的尾随维度和类型相同。