Affine Propagation #
This module contains the plain affine pass for the flat graph engine. It builds one affine form per node with respect to a chosen input node. Forward CROWN and objective-dependent backward CROWN build on these affine forms in their own modules.
Flatten a typed convolution into the affine map it denotes.
The CROWN pass uses this when a convolution is linear in the selected input. Keeping the conversion here lets convolution share the same affine machinery as linear and matmul nodes.
Instances For
Propagate a single node’s affine form (CROWN/DeepPoly style) given parent affine forms.
This updates the affs array at index id when the node kind admits an affine transfer rule.
For non-affine nodes (or missing parents/params), the array is left unchanged so downstream code
can fall back to IBP boxes.
Instances For
Run an affine pass; requires prior IBP to supply pre-activation bounds for ReLU.