Sequenzen packen und Padding verarbeiten
Trainieren Sie effizient mit variablen Längen.
Sequenzen packen und Padding verarbeiten ist eine kostenlose Deep Learning Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Deep Learning Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Deep Learning Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
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. ✅
Häufig gestellte Fragen
Ist die Lektion „Sequenzen packen und Padding verarbeiten“ kostenlos?
Ja — der vollständige Text von „Sequenzen packen und Padding verarbeiten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Deep Learning Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Deep Learning Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Sequenzen packen und Padding verarbeiten“?
Trainieren Sie effizient mit variablen Längen. Du übst Deep Learning Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Deep Learning Academy zu starten?
Keine Vorkenntnisse erforderlich. Deep Learning Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Sequenzen packen und Padding verarbeiten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Deep Learning Academy-Lektion Code schreiben und ausführen?
Ja. Jede Deep Learning Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Warum Sequenzen ein Gedächtnis brauchen
- Die einfache RNN-Zelle
- LSTM- und GRU-Gates
- Sequenzen packen und Padding verarbeiten