0Pricing
Deep Learning Academy · Aula

Empacote Sequências e Lide com Preenchimento

Treine com eficiência em comprimentos variáveis

Empacote Sequências e Lide com Preenchimento é uma aula grátis de Deep Learning Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Deep Learning Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Deep Learning Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Batches Want Rectangles

To process many sequences at once, a batch must be a neat rectangle. But real sentences have different lengths, so they don't line up.

Padding to a Common Length

The fix is padding: add filler tokens, usually zeros, to short sequences so every row in the batch is the same length.

pad_sequence Helper

PyTorch's pad_sequence stacks a list of variable-length tensors into one padded batch in a single call.

from torch.nn.utils.rnn import pad_sequence
batch = pad_sequence(seqs, batch_first=True)

Padding Wastes Compute

Those filler tokens are fake. If the RNN processes them anyway, it burns compute and can let the padding pollute the hidden state.

Track the Real Lengths

Before padding, record each sequence's true length. You'll hand these lengths to PyTorch so it knows where the real data ends.

lengths = [len(s) for s in seqs]

Packing the Batch

pack_padded_sequence turns the padded batch plus lengths into a compact form the RNN can run without touching the padding.

packed = pack_padded_sequence(batch, lengths, batch_first=True)

Run the RNN on Packed Data

Feed the packed object straight into nn.LSTM or nn.GRU. The cell skips padded steps, so memory stays clean and clear.

out_packed, h_n = lstm(packed)

Unpack the Output

To read per-step outputs again, call pad_packed_sequence to restore the rectangular padded shape after the RNN finishes.

out, lengths = pad_packed_sequence(out_packed, batch_first=True)

Sort by Length

Classic packing wants sequences sorted longest first. Set enforce_sorted to False and PyTorch handles unsorted batches for you.

Mask the Loss

Even with packing, ignore padded positions when scoring. A mask or ignore_index keeps fake tokens out of the loss.

loss_fn = nn.CrossEntropyLoss(ignore_index=PAD_ID)

Wire It Into the DataLoader

Do the padding inside a custom collate_fn so every batch arrives already padded, with lengths ready for packing.

Quick Check

Why pack a padded batch before feeding it to an RNN?

Recap

Pad to align a batch, track true lengths, then pack so the RNN ignores filler. Mask padded tokens in the loss too. ✅

Perguntas Frequentes

A aula “Empacote Sequências e Lide com Preenchimento” é grátis?

Sim — o texto completo de “Empacote Sequências e Lide com Preenchimento” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Deep Learning Academy, atualize para CoddyKit PRO. O curso de Deep Learning Academy inclui 4 aulas no total.

O que vou aprender em “Empacote Sequências e Lide com Preenchimento”?

Treine com eficiência em comprimentos variáveis Você pratica Deep Learning Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Deep Learning Academy?

Nenhuma experiência prévia é necessária. Deep Learning Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Empacote Sequências e Lide com Preenchimento”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Deep Learning Academy?

Sim. Cada aula de Deep Learning Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Por Que Sequências Precisam de Memória
  2. A Célula RNN Básica
  3. Portas LSTM e GRU
  4. Empacote Sequências e Lide com Preenchimento
← Voltar para Deep Learning Academy