torch.nn.utils.rnn.pad_sequence — PyTorch 2.7 documentation (original) (raw)

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

Pad a list of variable length Tensors with padding_value.

pad_sequence stacks a list of Tensors along a new dimension, and pads them to equal length. sequences can be list of sequences with size L x *, where L is length of the sequence and * is any number of dimensions (including 0). If batch_first is False, the output is of sizeT x B x *, and B x T x * otherwise, where B is the batch size (the number of elements in sequences), T is the length of the longest sequence.

Example

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])

Note

This function returns a Tensor of size T x B x * or B x T x *where T is the length of the longest sequence. This function assumes trailing dimensions and type of all the Tensors in sequences are same.

Parameters

Returns

Tensor of size T x B x * if batch_first is False. Tensor of size B x T x * otherwise

Return type

Tensor