boundlab.ibp.interpret#

boundlab.ibp.interpret = {<class 'boundlab.ibp.elementwise.Exp'>: Exp(op='exp'), <class 'boundlab.ibp.elementwise.Reciprocal'>: Reciprocal(op='reciprocal'), <class 'boundlab.ibp.elementwise.Relu'>: Relu(op='relu'), <class 'boundlab.ibp.elementwise.Tanh'>: Tanh(op='tanh'), <class 'boundlab.ibp.matmul.MatmulBiased'>: <boundlab.ibp.matmul.MatmulBiased object>, <class 'boundlab.ibp.matmul.MatmulNoise'>: <boundlab.ibp.matmul.MatmulNoise object>, <class 'boundlab.ibp.max.MaxWithConst2Relu'>: <boundlab.ibp.max.MaxWithConst2Relu object>, <class 'boundlab.ibp.softmax.Softmax2ExpReciprocal'>: Softmax2ExpReciprocal(op='softmax', interp_exp=None, interp_reciprocal=None), <class 'boundlab.interp.Add'>: Add(op='add'), <class 'boundlab.interp.BroadcastTo'>: BroadcastTo(op='broadcast_to'), <class 'boundlab.interp.Cast'>: Cast(op='cast'), <class 'boundlab.interp.Identity'>: Identity(op='identity'), <class 'boundlab.interp.Neg'>: Neg(op='neg'), <class 'boundlab.interp.ReduceMean'>: ReduceMean(op='reduce_mean'), <class 'boundlab.interp.ReduceSum'>: ReduceSum(op='reduce_sum'), <class 'boundlab.interp.Reshape'>: Reshape(op='reshape'), <class 'boundlab.interp.Squeeze'>: Squeeze(op='squeeze'), <class 'boundlab.interp.Sub'>: Sub(op='sub'), <class 'boundlab.interp.Transpose'>: Transpose(op='transpose'), <class 'boundlab.interp.Unsqueeze'>: Unsqueeze(op='unsqueeze'), <class 'boundlab.interp.base.DivSimple'>: <boundlab.interp.base.DivSimple object>, <class 'boundlab.interp.base.Gemm'>: <boundlab.interp.base.Gemm object>, <class 'boundlab.interp.base.MarkedIdentity'>: <boundlab.interp.base.MarkedIdentity object>, <class 'boundlab.interp.base.MatmulSimple'>: <boundlab.interp.base.MatmulSimple object>, <class 'boundlab.interp.base.MulSimple'>: <boundlab.interp.base.MulSimple object>}#

The interval interpreter.

Extends boundlab.interp.base.interpret with the component-split mul/matmul handlers, endpoint-mapped monotone activations, the max-to-relu rewrites, and the softmax decomposition. Cheapest and least precise: every result is a plain Bias + Noise box.