资讯动态

CANN/ge获取编译模型接口

发布时间:2026/9/10 4:26:54 来源:尧图企业网站定制
GetCompiledModel【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge头文件/库文件头文件#include ge/ge_api_v2.h库文件libge_runner_v2.so功能说明获取图编译后的序列化模型。调用本接口前必须先调用CompileGraph用户通过本接口获取内存缓冲区的序列化模型数据ModelBufferData后后续操作分为两种用法一推荐用法生成om离线模型在线编译通过GetCompiledModel接口获取编译后的序列化模型。调用aclgrphSaveModel接口将序列化模型保存为om离线模型。调用GetCompiledModel接口和调用aclgrphSaveModel接口时用户应确保所使用的CANN软件包版本一致接口内不做校验。调用从文件中加载模型接口aclmdlLoadFromFile然后使用aclmdlExecute接口执行推理。用法二不生成om离线模型在线编译通过GetCompiledModel接口获取编译后的序列化模型。调用从内存中加载模型接口aclmdlLoadFromMem然后使用aclmdlExecute接口执行推理。推荐使用用法一因为生成om离线模型后调用GetCompiledModel接口和调用aclmdlLoadFromFile接口的CANN软件包版本号可以不一致而如果使用用法二由于内存缓冲区的序列化模型数据ModelBufferData不保证版本兼容性要求调用GetCompiledModel接口和调用aclmdlLoadFromMem接口的CANN软件包版本号一致否则可能引发未定义行为。接口详细介绍请参见《应用开发 (CC)》中的“模型推理”章节。函数原型Status GetCompiledModel(uint32_t graph_id, ModelBufferData model_buffer)参数说明参数名输入/输出说明graph_id输入Graph对应的ID。model_buffer输出序列化的模型保存在内存缓冲区中。详情请参见ModelBufferData。其中data指向生成的模型数据length代表该模型的实际大小。返回值说明参数名类型说明-StatusSUCCESS成功FAILED失败约束说明变量与转换算子融合会导致图需要重新编译由于通过GetCompiledModel接口获取序列化模型后无法再次编译因此若图中包含变量需将性能调优 ge.exec.variable_acc参数配置为False以关闭变量与转换算子的融合功能。关于启用外置权重功能内存管理 ge.externalWeight后的权重文件管理需注意以下要点默认行为当开启外置权重功能时系统会默认将权重文件写入一个临时目录具体路径可参考ge.externalWeight说明。需要注意的是在GeSession对象析构时该临时目录及其下的文件将被自动清理删除。操作建议为避免权重文件在GeSession析构后丢失用户可以参考以下任一方法进行持久化保存指定专用目录建议在初始化时通过配置ge.externalWeightDir参数直接指定一个专用的、非临时的路径用于存放权重文件。提前备份文件在GeSession对象析构之前通过应用程序主动将临时路径下的权重文件拷贝至其他指定安全目录。保存离线模型在GeSession析构之前调用aclgrphSaveModel接口将已编译好的模型包含权重序列化保存为独立的om离线模型文件。通过以上方式可以有效管理外置权重文件的生命周期确保其不会因GeSession的销毁而意外丢失。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价