快速鍵

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_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 * 的 Tensor,其中 T 是最長序列的長度。此函數假定序列中所有 Tensor 的尾隨維度和類型都相同。

參數
  • sequences (list[Tensor]) – 長度可變序列的列表。

  • batch_first (bool, optional) – 如果 True,則輸出將為 B x T x * 格式,否則為 T x B x *

  • padding_value (float, optional) – 填充元素的值。預設值:0。

  • padding_side (str, optional) – 填充序列的一側。預設值:“right”。

返回

如果 batch_firstFalse,則返回大小為 T x B x * 的 Tensor。否則返回大小為 B x T x * 的 Tensor

返回類型

Tensor

文件

存取 PyTorch 的完整開發人員文件

查看文件

教學課程

取得初學者和進階開發人員的深入教學課程

查看教學課程

資源

尋找開發資源並獲得問題解答

查看資源