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 是最長序列的長度。此函數假定序列中所有 Tensor 的尾隨維度和類型都相同。- 參數
- 返回
如果
batch_first
為False
,則返回大小為T x B x *
的 Tensor。否則返回大小為B x T x *
的 Tensor- 返回類型