onnx_ir.passes

使用内置的Pass

常用、可复用的Pass实现在onnx_ir.passes.common中。你可以使用onnx_ir.passes.Sequential来链式运行Pass,或者使用onnx_ir.passes.PassManager,它支持在没有更改时提前停止。

Pass基础设施

继承onnx_ir.passes.InPlacePassonnx_ir.passes.FunctionalPass来定义一个Pass。你需要实现call方法,该方法返回一个onnx_ir.passes.PassResult

或者,继承基类onnx_ir.passes.PassBase <onnx_ir.passes.PassBase>并重写两个属性changes_inputin_place来设置Pass的属性。

onnx_ir.passes.PassBase

所有Pass的基类。

onnx_ir.passes.InPlacePass

一个就地修改输入模型并返回它的Pass。

onnx_ir.passes.FunctionalPass

一个返回新模型但不修改输入模型的Pass。

onnx_ir.passes.Sequential

按顺序运行一系列Pass。

onnx_ir.passes.PassResult

Pass的结果。

onnx_ir.passes.PassManager

IR的Pass管理器。

错误

exception onnx_ir.passes.InvariantError

当违反不变量时抛出。

exception onnx_ir.passes.PreconditionError

当违反前置条件时抛出。

exception onnx_ir.passes.PostconditionError

当违反后置条件时抛出。

exception onnx_ir.passes.PassError

当Pass期间发生错误时抛出。