推理应用接口主要分为Build Phase和Runtime Phase两阶段工作。
第一阶段:用户需要在MindIE-RT中构建网络,可以通过手动组网或使用各框架的解析器自动构建,MindIE-RT将会在内部针对昇腾AI处理器进行模型优化。
第二阶段:部署优化后的模型并执行推理。
MindIE-RT使用Builder接口进行模型编译,最终输出编译优化后的模型,通过该模型可构建Engine进行推理。
模型生成步骤参考如下:
build阶段示意如图1所示。
Network为模型结构定义接口。Network有两种生成方式。
BuilderConfig为编译配置选项接口。通过该接口,可以进行模型编译过程中的优化类型,模型动态类型,以及模型精度类型选择等配置。
在构建好Network与BuilderConfig之后,调用Builder进行模型编译。模型编译过程中会对模型进行常量折叠、CSE、LayoutTransformer等优化并配置模型计算精度为速度更快的float16或精度更高的float32或进行int8量化压缩。
Builder将Network编译成模型内存。
Build Phase具体内容请参见:
用户在获得了modelData或序列化成om模型后,可以参考《CANN AscendCL应用软件开发指南 (C&C++)》或《CANN AscendCL应用软件开发指南 (Python)》,调用AscendCL推理接口进行部署推理。