onnx_ir.passes¶
使用内置的Pass¶
常用、可复用的Pass实现在onnx_ir.passes.common中。你可以使用onnx_ir.passes.Sequential来链式运行Pass,或者使用onnx_ir.passes.PassManager,它支持在没有更改时提前停止。
Pass基础设施¶
继承onnx_ir.passes.InPlacePass或onnx_ir.passes.FunctionalPass来定义一个Pass。你需要实现call方法,该方法返回一个onnx_ir.passes.PassResult。
或者,继承基类onnx_ir.passes.PassBase <onnx_ir.passes.PassBase>并重写两个属性changes_input和in_place来设置Pass的属性。
所有Pass的基类。 |
|
一个就地修改输入模型并返回它的Pass。 |
|
一个返回新模型但不修改输入模型的Pass。 |
|
按顺序运行一系列Pass。 |
|
Pass的结果。 |
|
IR的Pass管理器。 |
错误¶
- exception onnx_ir.passes.InvariantError¶
当违反不变量时抛出。
- exception onnx_ir.passes.PreconditionError¶
当违反前置条件时抛出。
- exception onnx_ir.passes.PostconditionError¶
当违反后置条件时抛出。
- exception onnx_ir.passes.PassError¶
当Pass期间发生错误时抛出。