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对可变长度的 Tensor 列表进行填充。pad_sequence将 Tensor 列表堆叠到一个新的维度上,并填充它们以使其长度相等。sequences可以是长度为L x *的序列列表,其中 L 是序列的长度,*是任意数量的维度(包括0)。如果batch_first为False,输出的大小为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 *的 Tensor,其中 T 是最长序列的长度。此函数假定 sequences 中所有 Tensor 的尾随维度和类型都相同。