torch.nn.ZeroPad1d
new ZeroPad1d(padding: Padding1D)
- readonly
padding([number, number])
1D zero padding: pads by filling with zeros.
Simplest padding mode: extends sequences with zeros. Creates discontinuity at boundary (sharp transition from signal to zeros), but is computationally simple. Standard choice for most deep learning tasks when boundary artifacts are acceptable.
When to use ZeroPad1d:
- Standard deep learning (CNNs, RNNs)
- Tasks not sensitive to boundary artifacts
- Default padding choice
- Simple, fast implementation
- When other padding modes show no improvement
Trade-offs:
- vs ReflectionPad: Zero simpler; reflection avoids artifacts
- vs ReplicationPad: Zero creates discontinuity; replication preserves signal
- vs CircularPad: Zero for open signals; circular for periodic
- Computation: Simplest (just zeros)
- Gradient: Straightforward backprop, zeros don't contribute
- Standard choice: Default padding in most deep learning
- No signal preservation: Zeros at boundary regardless of input
- Discontinuity: Creates sharp zero transition
- Simple: No special computation needed
- Gradient: Padding region contributes zeros to gradient
Examples
// Basic zero padding
const pad = new torch.nn.ZeroPad1d(2);
const x = torch.tensor([[[1, 2, 3]]]);
const y = pad.forward(x);
// Input: [1, 2, 3]
// Output: [0, 0, 1, 2, 3, 0, 0]