beanmachine.ppl.compiler.fix_unsupported module

class beanmachine.ppl.compiler.fix_unsupported.UnsupportedNodeFixer(bmg: beanmachine.ppl.compiler.bm_graph_builder.BMGraphBuilder, typer: beanmachine.ppl.compiler.lattice_typer.LatticeTyper)

Bases: object

This class takes a Bean Machine Graph builder and attempts to fix all uses of unsupported operators by replacing them with semantically equivalent nodes that are supported by BMG.

beanmachine.ppl.compiler.fix_unsupported.bad_matmul_reporter(bmg: beanmachine.ppl.compiler.bm_graph_builder.BMGraphBuilder) Callable[[], Tuple[bool, beanmachine.ppl.compiler.error_report.ErrorReport]]
beanmachine.ppl.compiler.fix_unsupported.unsupported_node_fixer(bmg: beanmachine.ppl.compiler.bm_graph_builder.BMGraphBuilder, typer: beanmachine.ppl.compiler.lattice_typer.LatticeTyper) Callable[[beanmachine.ppl.compiler.bmg_nodes.BMGNode], Union[beanmachine.ppl.compiler.bmg_nodes.BMGNode, None, beanmachine.ppl.compiler.fix_problem.NodeFixerError]]
beanmachine.ppl.compiler.fix_unsupported.unsupported_node_reporter(bmg: beanmachine.ppl.compiler.bm_graph_builder.BMGraphBuilder) Callable[[], Tuple[bool, beanmachine.ppl.compiler.error_report.ErrorReport]]
beanmachine.ppl.compiler.fix_unsupported.untypable_node_reporter(bmg: beanmachine.ppl.compiler.bm_graph_builder.BMGraphBuilder) Callable[[], Tuple[bool, beanmachine.ppl.compiler.error_report.ErrorReport]]