boundlab.diff.polysp3.interpret#
- boundlab.diff.polysp3.interpret = {<class 'boundlab.diff.ops.DiffPair'>: <boundlab.diff.ops.DiffPair object>, <class 'boundlab.diff.zono3.bilinear.DiffMatmul'>: DiffMatmul(op='matmul', tighten=True), <class 'boundlab.diff.zono3.bilinear.DiffMul'>: DiffMul(op='mul', tighten=True), <class 'boundlab.diff.zono3.bounds.DiffExp'>: DiffExp(op='exp', domain=<class 'boundlab.polysp.PolySp'>, tighten=True, fallback=Exp(op='exp', apply_bound=<function linearizer_fn.<locals>.decorator.<locals>.LinearizerHandler.<lambda>>)), <class 'boundlab.diff.zono3.bounds.DiffReciprocal'>: DiffReciprocal(op='reciprocal', domain=<class 'boundlab.polysp.PolySp'>, tighten=True, fallback=Reciprocal(op='reciprocal', apply_bound=<function linearizer_fn.<locals>.decorator.<locals>.LinearizerHandler.<lambda>>)), <class 'boundlab.diff.zono3.bounds.DiffRelu'>: DiffRelu(op='relu', domain=<class 'boundlab.polysp.PolySp'>, tighten=True, fallback=Relu(op='relu', apply_bound=<function linearizer_fn.<locals>.decorator.<locals>.LinearizerHandler.<lambda>>)), <class 'boundlab.diff.zono3.bounds.DiffTanh'>: DiffTanh(op='tanh', domain=<class 'boundlab.polysp.PolySp'>, tighten=True, fallback=Tanh(op='tanh', apply_bound=<function linearizer_fn.<locals>.decorator.<locals>.LinearizerHandler.<lambda>>)), <class 'boundlab.diff.zono3.heaviside.DiffHeavisidePruning'>: <boundlab.diff.zono3.heaviside.DiffHeavisidePruning object>, <class 'boundlab.diff.zono3.heaviside.DiffTopKPruning'>: <boundlab.diff.zono3.heaviside.DiffTopKPruning object>, <class 'boundlab.diff.zono3.softmax.DiffSoftmax'>: DiffSoftmax(op='softmax', fallback=Softmax2ExpReciprocal(op='softmax', interp_exp=None, interp_reciprocal=None)), <class 'boundlab.diff.zono3.softmax.DiffSoftmaxPruning'>: <boundlab.diff.zono3.softmax.DiffSoftmaxPruning object>, <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>, <class 'boundlab.polysp.Matmul'>: Matmul(op='matmul', eps=0.0001, order=3), <class 'boundlab.zono.linearizers.MaxWithConst2Relu'>: <boundlab.zono.linearizers.MaxWithConst2Relu object>}#
Differential interpreter over sparse polynomial expressions.
Accepts a
DiffExpr3, aDiffExpr2, or a plainExpr(which falls through to standardboundlab.polyspinterpretation).