news 2026/10/23 6:12:29

RegisterCallBackFunc:注册回调函数的接口使用文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RegisterCallBackFunc:注册回调函数的接口使用文档

RegisterCallBackFunc:注册回调函数的接口使用文档

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

RegisterCallBackFunc 是 GE(Graph Engine)Session 提供的注册回调函数接口,用于登记用户自定义的 Summary、Checkpoint 处理逻辑。当提交给 GE 执行的图中包含 Summary 或 Checkpoint 算子时,GE 在图执行完成后会调用已注册的回调函数并传入对应参数,接口实现位于 api/session/client/。

接口概览与环境依赖

RegisterCallBackFunc 属于ge::Session类的成员接口,作用是将用户实现的回调函数按关键字注册到 Session 的图管理器中。注册成功后,图中 Summary、Checkpoint 算子产生的数据将不再由 GE 内部直接落盘,而是交由回调函数处理。调用前需确保 GE 已通过GEInitialize正确初始化。

  • 头文件:#include <ge/ge_api.h>
  • 库文件:libge_runner.so
  • 声明位置:inc/external/ge/ge_api.h

函数原型与签名

ge::Session类中提供两个重载版本:

Status RegisterCallBackFunc(const std::string &key, const pCallBackFunc &callback); Status RegisterCallBackFunc(const char *key, const session::pCallBackFunc &callback);

[!NOTE]说明 参数使用std::string的写法属于旧版类型风格,后续版本计划废弃,建议使用AscendString数据类型的接口。

参数与返回值说明

参数

参数名输入/输出说明
key输入回调类型关键字,字符串或字符格式,取值为 "Summary" 或 "Save"
callback输入用户实现的回调函数指针,图中对应算子执行后被 GE 调用,参数为 graph_id 与参数 Tensor 映射

回调函数指针类型定义:

typedef uint32_t (*pCallBackFunc)(uint32_t graph_id, const std::map<std::string, ge::Tensor> &params_list); typedef uint32_t (*pCallBackFunc)(uint32_t graph_id, const std::map<AscendString, ge::Tensor> &params_list);

返回值

类型说明
Status接口执行结果

各状态值含义:

  • GE_SESSION_MANAGER_NOT_INIT:Session 管理未初始化
  • SUCCESS:注册回调函数成功
  • FAILED:注册回调函数失败

调用前必须了解的约束

  • 回调关键字仅支持 "Summary" 与 "Save" 两种类型
  • 未注册回调即下发含 Summary、Checkpoint 算子的图,执行时会报错
  • 当前版本仅支持图执行完成后一次性调用回调函数,不支持执行过程中分批触发
  • 注册前的GEInitialize初始化步骤不可省略,否则返回 FAILED

典型调用场景

典型使用时机为:通过 Session 执行含 Summary 或 Checkpoint 算子的计算图之前,先调用本接口完成回调注册,以便在图执行完成后接收 Summary 数据或执行 Checkpoint 保存逻辑。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 6:08:28

免费LLM怎么选不踩坑?free-claude-code三大模型提供商横评指南

【免费下载链接】free-claude-code Use Claude Code for free in the terminal, VSCode extension, or via Discord 项目地址&#xff1a; https://gitcode.com/gh_mirrors/fre/free-claude-code 点击查看 免费下载 free-claude-code 是一款免费LLM代理工具&#xff1a;它把 C…

作者头像 李华
网站建设 2026/10/23 6:03:58

借来的电脑 10 分钟改造:GTweak 便携 Windows 优化实战

借来的电脑 10 分钟改造&#xff1a;GTweak 便携 Windows 优化实战 【免费下载链接】GTweak Portable Tool for an Ideal Windows Setup 项目地址: https://gitcode.com/GitHub_Trending/gt/GTweak GTweak 是一款免费、免安装的 Windows 系统优化工具&#xff0c;单个 g…

作者头像 李华