Convolution #
Arbitrary-rank convolution geometry and configuration records.
Kernel, stride, and padding shared by convolutional layers with different channel widths.
Kernel extent along each spatial axis.
Step along each spatial axis.
Symmetric zero-padding along each spatial axis.
Instances For
Configuration shared by arbitrary-dimensional convolution layers.
- outChannels : ℕ
Number of output channels. Must be positive when the layer is validated.
Kernel extent along each spatial axis.
Step along each spatial axis.
Symmetric zero-padding along each spatial axis.
- weightInitialization : Init.Scheme
Initialization scheme for the kernel weights.
Instances For
Adding an output width to a geometry keeps that width.
The spatial grid is the geometry's, so a shape proof can be discharged from the geometry alone without unfolding the configuration the builder produced.
Configuration shared by arbitrary-dimensional transposed-convolution layers.
- outChannels : ℕ
Number of output channels. Must be positive when the layer is validated.
Kernel extent along each spatial axis.
Step along each spatial axis.
Symmetric zero-padding along each spatial axis.
- weightInitialization : Init.Scheme
Initialization scheme for the kernel weights.
Instances For
Build a transpose-convolution configuration from shared geometry.
Instances For
Same for the transpose direction: the requested output width survives.
Reusing one geometry for both directions is only sound if each direction keeps its own output
rule, and it does: the transpose configuration's grid is Geometry.transposedOutputSpatial, never
the forward Geometry.outputSpatial.