5.1. Passes

Pass 是 PopRT 中用于优化 ONNX 模型的组件, 实现自定义的 pass 见 Custom passes.

5.1.1. Pass 抽象

PopRT 中实现的 pass 都继承自 poprt.Pass.

Pass 的注册是自动进行的, 可以通过下面的 CLI 命令列出所有已经注册的 pass:

poprt --list_all_passes

或者在 Python 中:

import poprt

passes = poprt.get_registered_passes()
print(passes.keys())

使用 poprt.Pass.get_pass() 的 Python 接口使用某一个 pass(可在 Built-in passes 查看 PopRT 已注册的 passes), 同时可以使用 poprt.PassManager 应用多个 pass.

Note

由于 pass 模块的结构可能会有变化, 不推荐以下使用方式:

from poprt.passes.float_to_half import Float2Half

Float2Half()(onnx_model)