This code pads three sequences to length 4 by adding zeros at the end. It prints the padded sequences and their shape.
TensorFlow
import tensorflow as tf
# Sample sequences of different lengths
sequences = [[7, 8, 9], [10, 11], [12]]
# Pad sequences to length 4 with zeros at the end
padded_sequences = tf.keras.preprocessing.sequence.pad_sequences(sequences, maxlen=4, padding='post')
print('Padded sequences:')
print(padded_sequences)
# Check shape to confirm uniform lengthprint('Shape:', padded_sequences.shape)
OutputSuccess
Important Notes
Padding is important because models expect inputs of the same size.
Choose 'pre' or 'post' padding based on what fits your model best.
Use maxlen to control the final sequence length, truncating longer sequences if needed.
Summary
Sequence padding makes sequences the same length by adding zeros.
It helps models process batches of sequences together.
Padding can be added before or after the sequence.
Practice
(1/5)
1. What is the main purpose of sequence padding in TensorFlow?
easy
A. To make all sequences the same length by adding zeros
B. To shuffle the sequences randomly
C. To normalize the values in sequences
D. To remove zeros from sequences
Solution
Step 1: Understand sequence length requirements
Models need inputs of the same length to process batches efficiently.
Step 2: Role of padding
Padding adds zeros to shorter sequences to match the longest sequence length.
Final Answer:
To make all sequences the same length by adding zeros -> Option A
Quick Check:
Sequence padding = same length sequences [OK]
Hint: Padding adds zeros to equalize sequence lengths [OK]
Common Mistakes:
Thinking padding shuffles sequences
Confusing padding with normalization
Assuming padding removes zeros
2. Which of the following is the correct way to pad sequences using TensorFlow's tf.keras.preprocessing.sequence.pad_sequences function?
easy
A. pad_sequences(sequences, maxlen=5, padding='post')
B. pad_sequences(sequences, maxlen=5, pad='after')
C. pad_sequences(sequences, length=5, padding='pre')
D. pad_sequences(sequences, max_length=5, padding='middle')
Solution
Step 1: Check function parameters
The correct parameter for length is maxlen, and padding accepts 'pre' or 'post'.
Step 2: Validate option syntax
pad_sequences(sequences, maxlen=5, padding='post') uses maxlen=5 and padding='post', which is correct syntax.
Final Answer:
pad_sequences(sequences, maxlen=5, padding='post') -> Option A
Valid padding values are 'pre' or 'post'. 'middle' is invalid.
Step 2: Identify error cause
Using 'middle' causes a ValueError because it's not supported.
Final Answer:
Invalid padding value 'middle' used -> Option C
Quick Check:
Padding must be 'pre' or 'post' [OK]
Hint: Use only 'pre' or 'post' for padding parameter [OK]
Common Mistakes:
Using unsupported padding values
Thinking maxlen must be bigger than longest sequence
Assuming lists cause errors
5. You have sequences of different lengths and want to pad them so that all sequences have length 6. You want zeros added after the sequences. Which code correctly achieves this and why?
hard
A. pad_sequences(sequences, maxlen=6, value=1) because it pads with ones to length 6
B. pad_sequences(sequences, maxlen=6, padding='pre') because it pads zeros before sequences to length 6
C. pad_sequences(sequences, maxlen=6, truncating='post') because it truncates sequences after length 6
D. pad_sequences(sequences, maxlen=6, padding='post') because it pads zeros after sequences to length 6
Solution
Step 1: Understand padding='post'
Padding='post' adds zeros after the sequence to reach maxlen.
Step 2: Check other options
pad_sequences(sequences, maxlen=6, padding='pre') because it pads zeros before sequences to length 6 pads before sequences, not after. pad_sequences(sequences, maxlen=6, truncating='post') because it truncates sequences after length 6 truncates sequences, not pads. pad_sequences(sequences, maxlen=6, value=1) because it pads with ones to length 6 pads with ones, not zeros.
Final Answer:
pad_sequences(sequences, maxlen=6, padding='post') -> Option D
Quick Check:
Post-padding adds zeros after sequences [OK]
Hint: Use padding='post' to add zeros after sequences [OK]
Common Mistakes:
Confusing pre and post padding
Using truncating instead of padding
Changing pad value from zero unintentionally
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.