昇腾CANN/GE编译运行FlowGraph 编译并运行FlowGraph【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge功能介绍构建完FlowGraph之后如果您希望直接编译并运行FlowGraph得到图的执行结果可以参考本节内容。涉及的主要接口为调用“GEInitialize”接口进行系统初始化也可在Graph构建前调用申请系统资源。调用“Session构造函数”创建Session类对象申请Session资源。调用“FlowGraph”接口在Session类对象中添加定义好的图。调用“RunGraph”接口或者“FeedDataFlowGraphfeed所有输入”和“FetchDataFlowGraph获取所有输出数据”接口运行图。调用GEFinalize接口释放系统资源。[!NOTE]说明 如上步骤中的“GEInitialize”、“Session构造函数”、“AddGraph”、“RunGraph”、“GEFinalize”详细信息请参考《GE图引擎 API》。 使用DataFlow开发框架时NN模型执行使用的是饱和模式。该模式下计算精度可能存在误差该模式仅为兼容旧版本后续不演进。开发示例包含的头文件。#include ge_api.h申请系统资源。Graph定义完成后调用GEInitialize进行系统初始化也可在Graph定义前调用申请系统资源。示例代码如下std::mapAscendString, AscendStringconfig {{ge.exec.deviceId, 0}, {ge.exec.logicalDeviceClusterDeployMode, SINGLE}, {ge.exec.logicalDeviceId, [0:0]}, {ge.graphRunMode, 1}, {ge.exec.precision_mode, allow_fp32_to_fp16}}; Status ret ge::GEInitialize(config);可以通过config配置传入GE运行的初始化信息以上配置中的参数ge.exec.deviceId、ge.graphRunMode和ge.exec.precision_mode分别用于指定GE实例运行设备图执行模式在线推理请配置为0训练请配置为1以及算子精度模式。[!NOTE]说明 由于部分UDF不支持负荷分担所以需要在GE初始化时添加{ge.exec.logicalDeviceClusterDeployMode, SINGLE}, {ge.exec.logicalDeviceId, [0:0]}。其中logicalDeviceId可以是[0:0]也可以是[0:1]。如果需要多实例部署可以参考指定DataFlow节点部署位置来实现多实例部署。logicalDeviceId解释如下。 logicalDeviceClusterDeployMode为SINGLE时用于指定模型部署在某个指定的设备上。 配置格式[node_id:device_id]node_idAI处理器逻辑ID从0开始表示资源配置文件中第几个设备。device_idAI处理器物理ID。添加Graph对象并运行Graph。若想使定义好的Graph运行起来首先要创建一个Session对象然后调用AddGraph接口添加图再调用RunGraph接口执行图。示例代码如下std::map AscendString, AscendString options; ge::Session *session new Session(options); if(session nullptr) { std::cout Create session failed. std::endl; return FAILED; } // 构造FlowGraph Status ret session-AddGraph(graph_id, flow_graph.ToGeGraph()); if(ret ! SUCCESS) { return FAILED; } // 方式一RunGraph ret session-RunGraph(graph_id, input, output); if(ret ! SUCCESS) { return FAILED; } // 方式二先FeedDataFlowGraph再FetchDataFlowGraph ge::DataFlowInfo dataFlowInfo; geRet session-FeedDataFlowGraph(0, input, dataFlowInfo, 3000); if (geRet ! ge::SUCCESS) { return FAILED; } geRet session-FetchDataFlowGraph(0, output, dataFlowInfo, 3000); if (geRet ! ge::SUCCESS) { return FAILED; }用户可以通过传入options配置图运行相关配置信息。其中图运行完之后的数据保存在output中。如果DataFlow图中包含UDF节点DataFlow在图编译过程中会将编译结果放到用户指定UDF的workspace目录下落盘文件以graph_name_release.tar.gz格式存储。该文件用于DataFlow模型部署阶段解压使用在程序运行期间保证该文件不能被手动删除。图运行完之后通过GEFinalize释放资源。ret ge::GEFinalize();【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

CodeGraph 装完即战力:一条命令建好本地代码知识图谱,AI Agent 五分钟接入全链路

CodeGraph 装完即战力:一条命令建好本地代码知识图谱,AI Agent 五分钟接入全链路

CodeGraph 装完即战力:一条命令建好本地代码知识图谱,AI Agent 五分钟接入全链路 【免费下载链接】codegraph Pre-indexed code knowledge graph, auto syncs on code changes, for Claude Code, Codex, Gemini, Cursor, OpenCode, AntiGravity, Kiro, C…

2026/9/8 18:55:35
大模型算法工程师实战指南:从原理到微调部署全流程解析

大模型算法工程师实战指南:从原理到微调部署全流程解析

1. 先说清楚:这门特训到底在练什么 市面上教你"入门AI"的课程多如牛毛,但真正能让你完成身份转换、从普通开发者/算法工程师转型为大语言模型算法工程师的体系化训练,其实少得可怜。这个特训的定位非常清晰:它不是给你念…

2026/9/8 18:55:35
电销外包录音质检收费标准与合规选型指南

电销外包录音质检收费标准与合规选型指南

数据来源与采信声明数据截止日期:本文数据截止日期为2026年9月。利益冲突声明:本文由第三方自媒体评测团队撰写,团队成员具备3年以上企业服务行业研究经验。本团队声明未接受优先呼、沃丰科技、智齿科技、容联云任何品牌方的付费委托或赞助&a…

2026/9/8 18:55:35
Cesium中基于turf.js的等值线图生成与渲染实践

Cesium中基于turf.js的等值线图生成与渲染实践

简介:基于Cesium与krigingjs实现等值线图的可运行示例,面向GIS开发、前端可视化及地理数据分析人员,帮助解决在三维地球场景中展示等值区域与热力分布的需求。资源将普通克里格插值算法封装为kriging.js,并附上test.js测试脚本&am…

2026/9/8 18:55:35
从外部 OData 到 SAP Gateway,SEGW 重定义服务的集成链路全解析

从外部 OData 到 SAP Gateway,SEGW 重定义服务的集成链路全解析

很多 SAP Gateway 项目真正麻烦的地方,并不是我们自己从零编写一个 OData 服务,而是企业里已经存在一套外部 OData API,SAP 系统还需要把它纳入自己的 Gateway 服务体系。 外面的系统已经能提供 $metadata,也已经有 Entity、EntitySet、Association 以及各种数据访问能力。…

2026/9/8 18:55:35
AI数据采集实战:质量与分布决定模型上限,避开数据陷阱

AI数据采集实战:质量与分布决定模型上限,避开数据陷阱

做模型做到后面,你会发现一个扎心的现实:最值钱的东西不是模型结构,不是调参技巧,而是数据。前阵子我帮朋友复盘一个视觉检测项目。团队花了三个月从各种渠道攒了60万张图片,存储用好几个TB,训练一轮要跑好…

2026/9/8 18:50:35