Convolution and Normalization IR Lowering #
Checked lowering for pooling, convolution, batch normalization, and layer normalization.
Pooling, convolution, and batch normalization validate the pooling plan, payload, and shapes once while lowering. The closures then apply the typed specification operators directly to the typed parent value, transporting along the shape equalities established by those checks. They do not call the dynamic IR evaluator and cannot fail at runtime.
Each operation has its own small lower* definition. lowerConvolutionNormalization only
dispatches on the operation kind, and the lowerConvolutionNormalization_* equation lemmas let
correctness proofs reduce a dispatch to the branch they care about without unfolding the whole
dispatcher.
Checked lowering for .maxPool config over the spatial suffix selected by the pooling plan.
Instances For
Checked lowering for .avgPool config over the spatial suffix selected by the pooling plan.
Instances For
Checked lowering for .conv config with a payload-backed kernel over any leading shape.
Instances For
Checked lowering for .batchNormEval channelAxis channels with fixed statistics.
Instances For
Checked lowering for .layernorm axis through the matrix view of the normalized suffix.
Instances For
Checked lowering for pooling, convolution, batch normalization, and layer normalization.
Instances For
Dispatch equation for .maxPool config.
Dispatch equation for .avgPool config.
Dispatch equation for .conv config.
Dispatch equation for .batchNormEval channelAxis channels.
Dispatch equation for .layernorm axis.