aclgrphBuildModel
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
产品支持情况
头文件/库文件
- 头文件:#include <ge/ge_ir_build.h>
- 库文件:libge_compiler.so
功能说明
将输入的Graph编译为适配昇腾AI处理器的离线模型,并保存到内存缓冲区。
函数原型
[!NOTE]说明 数据类型为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)参数说明
编译生成的离线模型缓存,模型保存在内存缓冲区中。详情请参见ModelBufferData。 struct ModelBufferData { std::shared_ptr<uint8_t> data = nullptr; uint64_t length; };其中data指向生成的模型数据,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++)》。
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考