aclgrphBuildModel
产品支持情况
头文件/库文件
- 头文件:#include <ge/ge_ir_build.h>
- 库文件:libge_compiler.so
功能说明
将输入的Graph编译为适配昇腾AI处理器的离线模型,并保存到内存缓冲区。
函数原型
说明
数据类型为string的接口后续版本会废弃,建议使用数据类型为非string的接口。
graphStatus aclgrphBuildModel(const ge::Graph &graph, const std::map<std::string, std::string> &build_options, ModelBufferData &model)
graphStatus aclgrphBuildModel(const ge::Graph &graph, const std::map<AscendString, AscendString> &build_options, ModelBufferData &model)
参数说明
|
配置参数map映射表,key为参数类型,value为参数值,均为字符串格式,用于描述离线模型编译配置信息。 map中的配置参数请参见aclgrphBuildModel支持的配置参数。 |
||
编译生成的离线模型缓存,模型保存在内存缓冲区中。详情请参见ModelBufferData。 struct ModelBufferData
{
std::shared_ptr<uint8_t> data = nullptr;
uint64_t length;
};
|
返回值说明
约束说明
-
对于aclgrphBuildModel和aclgrphBuildInitialize中重复的编译配置参数,建议不要重复配置,如果设置重复,则以aclgrphBuildModel传入的为准。
-
使用aclgrphBuildModel接口传入build_options参数时,多张图场景下,如果传入的参数为ge::ir_option::PRECISION_MODE或者ge::ir_option::PRECISION_MODE_V2,多张图设置的参数值需要相同。
-
使用aclgrphBuildModel接口编译的离线模型,保存在内存缓冲区中:
-
如果希望将内存缓冲区中的模型保存为离线模型文件xx.om,则需要调用aclgrphSaveModel接口,序列化保存离线模型到文件中。后续使用acl接口进行推理业务,需要使用从文件中加载模型的接口,例如aclmdlLoadFromFile,然后使用aclmdlExecute接口执行推理。
-
如果离线模型保存在内存缓冲区:
后续使用acl接口进行推理业务时,需要使用从内存中加载模型的接口,例如aclmdlLoadFromMem,然后使用aclmdlExecute接口执行推理。
acl接口详细介绍请参见《应用开发指南 (C&C++)》。
-