build_model
产品支持情况
全量芯片支持。
功能说明
将输入的Graph编译为适配AI处理器的离线模型,并保存到内存缓冲区。
函数原型
1 | build_model(graph: Graph, build_options: Optional[dict] = None) -> ModelBuffer |
参数说明
参数名 |
输入/输出 |
描述 |
|---|---|---|
graph |
输入 |
待编译的Graph。 |
build_options |
输入 |
Graph级别配置参数。 配置参数dict映射表,key为参数类型,value为参数值,均为字符串格式,用于描述离线模型编译配置信息。 dict中支持的配置参数请参见aclgrphBuildModel支持的配置参数,key为C++常量对应的字符串值,请参见ge_api_types.h。 |
返回值说明
(ModelBuffer)编译生成的离线模型缓存。
约束说明
- 如果graph不是Graph类型,抛出TypeError。
- 如果build_options不是有效的字符串dict,抛出TypeError。
- 如果编译失败,抛出RuntimeError。
- 对于build_model和build_initialize中重复的options编译配置参数,建议不要重复配置,如果设置重复,则以build_model传入的为准。
- 使用build_model接口传入build_options参数时,多张图场景下,如果传入的参数为PRECISION_MODE或者PRECISION_MODE_V2,多张图设置的参数值需要相同。
- 使用build_model接口编译的离线模型,保存在内存缓冲区中:
- 如果希望将内存缓冲区中的模型保存为离线模型文件xx.om,则需要调用save_model接口,序列化保存离线模型到文件中。后续进行推理业务,需要使用从文件中加载模型的接口,例如aclmdlLoadFromFile,然后使用aclmdlExecute接口执行推理。
- 如果离线模型保存在内存缓冲区: 后续进行推理业务时,需要使用从内存中加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。
接口详细介绍请参见“模型管理”章节。
父主题: Offline_compile接口