新闻详情

新闻详情

首页 / 资讯中心 / 详情

GE 回调函数注册完整指南:三步用 RegisterCallBackFunc 配好 Summary 与 Save 回调

发布时间:2026/9/5 22:15:51来源:尧图网络
GE 回调函数注册完整指南:三步用 RegisterCallBackFunc 配好 Summary 与 Save 回调
GE 回调函数注册完整指南三步用 RegisterCallBackFunc 配好 Summary 与 Save 回调【免费下载链接】awesome-design-systems ⚒ A collection of awesome design systems项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-design-systems开源项目 awesome-design-systems 的接口参考资料里GE 的RegisterCallBackFunc回调函数注册接口是打通 Summary 与 Checkpoint 能力的关键入口。你下发给 GE 的图中如果带有这两类算子就必须先完成回调注册否则执行时会直接报错。什么是 RegisterCallBackFunc什么时候需要它一句话理解这是你和 GE 之间的一次“预约”。注册之后GE 在执行图的过程中遇到 Summary 或 Checkpoint 算子就会调用你提供的回调函数来处理。典型场景是图执行结束后你的业务需要拿回中间参数比如保存模型、输出汇总信息但不想把具体处理逻辑硬编码进图里。这时就可以把活儿交给自己的回调函数。准备工作2 个文件和 1 个前置条件先引入两个依赖缺一不可头文件#include ge/ge_api.h库文件libge_runner.so还有一个软性前置条件Session 管理组件必须已经初始化。否则注册调用会直接返回GE_SESSION_MANAGER_NOT_INIT这也是“注册为什么失败”这类问题最常见的根源排查时请优先检查初始化顺序。如何注册 Summary 或 Save 回调只需 3 步编写回调函数入参为graph_iduint32_t和params_list键值映射到ge::Tensor返回uint32_t。调用RegisterCallBackFunc把回调传进去key填Summary或Save。检查返回的Status只有拿到SUCCESS才算注册完成。函数原型有两个重载其中 string 数据类型的版本后续会废弃新代码请直接选用非 string 数据类型的版本Status RegisterCallBackFunc(const char *key, const session::pCallBackFunc callback);最小调用示例长这样Status status RegisterCallBackFunc(Summary, MySummaryCallback);key 和 callback 分别该传什么参数该传什么传错或漏传会发生什么key回调类型关键字只支持Summary和Save两个取值传其他字符串会导致注册失败返回FAILEDcallback符合pCallBackFunc签名的函数指针签名与 typedef 定义不一致时编译就过不了两个重载对应两种回调签名区别在于params_list的键类型签名params_list键类型建议pCallBackFuncstring 版std::string后续版本将废弃不建议新代码使用session::pCallBackFuncAscendString 版AscendString✅ 推荐使用返回的错误码意味着什么接下来怎么处理返回的Status意味着什么接下来怎么做SUCCESS回调函数注册成功无需额外操作可以下发图了GE_SESSION_MANAGER_NOT_INITSession 管理未初始化检查是否漏了初始化步骤先初始化再注册FAILED注册失败核对key取值和回调签名后重试漏注册回调会报什么错如果图中带有 Summary 或 Checkpoint 算子却没有事先注册对应回调GE 会直接报错不会静默跳过。 这是新手最常踩的坑之一把“注册回调”当成下发图之前的必做检查项这个报错基本就不会再出现。三个必须记住的硬限制回调类型目前只支持Summary和Save两个取值其他关键字不会被识别。目前只支持图执行完后一次性调用回调函数不要假设每遇到一次算子触发就回调一次。⚠️ 未注册回调就下发 Summary、Checkpoint 算子必然报错建议把注册动作固化进初始化流程。按上面三步走RegisterCallBackFunc的注册流程就完整了先初始化 Session再选对签名最后核对key与返回值。【免费下载链接】awesome-design-systems ⚒ A collection of awesome design systems项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-design-systems创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

oh-my-openagent 技术债审计协议:九维度扫描、sg 结构搜索与 TECH_DEBT_AUDIT.md 产物生成 2026/9/5 23:01:01

oh-my-openagent 技术债审计协议:九维度扫描、sg 结构搜索与 TECH_DEBT_AUDIT.md 产物生成

oh-my-openagent 技术债审计协议:九维度扫描、sg 结构搜索与 TECH_DEBT_AUDIT.md 产物生成 【免费下载链接】oh-my-openagent OmO: Drop your tokens. Ultrawork. Done. 项目地址: https://gitcode.com/gh_mirrors/oh/oh-my-openagent 本文基于 tech-debt-audit 技能协议…

阅读更多 →
faster-whisper快速语音转录:提速4倍 2026/9/5 23:01:01

faster-whisper快速语音转录:提速4倍

faster-whisper快速语音转录:提速4倍 【免费下载链接】faster-whisper Faster Whisper transcription with CTranslate2 项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper 13分钟的会议录音,在一张8GB的显卡上跑:官方…

阅读更多 →
Flipper Zero 固件编译指南:FBT 编译从零到成品固件的 4 步流程 2026/9/5 23:01:01

Flipper Zero 固件编译指南:FBT 编译从零到成品固件的 4 步流程

Flipper Zero 固件编译指南:FBT 编译从零到成品固件的 4 步流程 【免费下载链接】awesome-flipperzero 🐬 A collection of awesome resources for the Flipper Zero device. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-flipperzero …

阅读更多 →
工业螺丝螺母实时检测方案:YOLOv5n轻量部署实践 2026/9/5 23:01:01

工业螺丝螺母实时检测方案:YOLOv5n轻量部署实践

简介:本资源是一个开箱即用的YOLOv5目标检测模型压缩包,专为螺丝与螺母的工业级识别场景优化,面向嵌入式视觉开发、自动化质检及计算机视觉初学者。资源已预训练完成,无需标注数据或重新训练即可直接推理,显著降低部署…

阅读更多 →
软件测试转岗嵌入式与芯片测试:技术要点与学习路线解析 2026/9/5 23:01:01

软件测试转岗嵌入式与芯片测试:技术要点与学习路线解析

软件测试岗位这几年最不缺的就是“变化”。最近技术群里有一个案例被反复转发:一位做通信行业外包软件测试的工程师,项目组收缩后离开原岗位,用大约半个月时间重新准备,入职了一家做机器人/物联网方向的公司,岗位与嵌入…

阅读更多 →
Wand-Enhancer 免费解锁 WeMod 专业版功能,10 分钟本地跑通 2026/9/5 22:58:00

Wand-Enhancer 免费解锁 WeMod 专业版功能,10 分钟本地跑通

Wand-Enhancer 免费解锁 WeMod 专业版功能,10 分钟本地跑通 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 游戏开着 WeMod 练级&#…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞