{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 推理流程介绍:把模型在昇腾上跑起来\n",
"\n",
"<div align=\"left\">\n",
"<blockquote style=\"margin-left: 0; margin-right: auto;\">\n",
"<p>快速入门系列 | 第二章:推理流程介绍</p>\n",
"</blockquote>\n",
"</div>\n",
"\n",
"在上一章 **基础概念入门** 中,你已经理解了 GE 的全栈定位、两大职责、编译四阶段与 AscendIR 构图基础。本章把概念落到实处:带你完整走通 GE 的**两条推理路径**,亲手把一个模型在昇腾上编译并执行起来。\n",
"\n",
"- **离线推理流程**:用 ATC(或 Parser 接口 + `aclgrphBuildModel` / `aclgrphSaveModel`)把模型预先编译成 `.om` 离线模型,再用 ACL 在运行时加载并执行。适合模型结构固定、追求部署效率的推理场景。\n",
"- **在线执行流程**:用 GeSession 在运行时实时构图、`CompileGraph` 编译并 `RunGraph` 执行,无需预先生成 OM。适合动态构图、多图管理以及训练等需要灵活控制的场景。\n",
"\n",
"本章的代码以 GE 仓库中的真实样例为参照,接口名与签名均可对照源码与官方文档。\n",
"\n",
"---\n",
"\n",
"## 前置要求\n",
"在开始本章前,建议你已完成 **基础概念入门** 章节,理解 GE 职责、AscendIR 构图与 Tensor 描述等概念。此外还应具备:\n",
"\n",
"- 能够阅读并编写基础 C/C++ 代码,理解指针与内存管理。\n",
"- 了解 Host / Device 内存模型及 Host-Device 数据搬运流程。\n",
"- 熟悉 Linux 命令行操作。\n",
"\n",
"<div align=\"left\">\n",
"<blockquote style=\"margin-left: 0; margin-right: auto;\">\n",
"<p><strong>环境说明</strong>:本章包含动手实践,<strong>离线编译</strong>(ATC / Parser)可在纯 Host 环境完成;<strong>模型加载与执行</strong>(ACL / GeSession Run)需要昇腾 NPU 设备或昇腾云环境。环境准备参考 <a href=\"https://www.hiascend.com/cann/download\">CANN 下载页面</a>。</p>\n",
"</blockquote>\n",
"</div>\n",
"\n",
"---\n",
"\n",
"## 章节目标\n",
"完成本章后,你将能够:\n",
"\n",
"- 掌握离线推理全流程:使用 ATC 命令行或 Parser 接口将模型编译为 OM,理解 OM 产物的结构与使用方式。\n",
"- 使用 ACL 完成 OM 模型的加载、输入输出管理与同步/异步执行。\n",
"- 掌握在线执行全流程:使用 GeSession 完成初始化、`AddGraph`、`CompileGraph`、`RunGraph` 与多图管理。\n",
"- 理解离线路径与在线路径的差异,能够根据场景选择合适的方案。\n",
"\n",
"---\n",
"\n",
"## 章节内容\n",
"<div align=\"left\">\n",
"<table style=\"margin-left: 0; margin-right: auto;\">\n",
"<thead>\n",
"<tr><th>课时</th><th>Notebook</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"<tr><td>2.1 章节介绍</td><td><a href=\"02.01_chapter_intro.ipynb\">02.01_chapter_intro.ipynb</a></td></tr>\n",
"<tr><td>2.2 离线推理流程:ATC 编译与 ACL 推理</td><td><a href=\"02.02_offline_inference.ipynb\">02.02_offline_inference.ipynb</a></td></tr>\n",
"<tr><td>2.3 在线执行流程:GeSession 构图与执行</td><td><a href=\"02.03_online_execution.ipynb\">02.03_online_execution.ipynb</a></td></tr>\n",
"<tr><td>2.4 章节练习</td><td><a href=\"02.04_chapter_practice.ipynb\">02.04_chapter_practice.ipynb</a></td></tr>\n",
"</tbody>\n",
"</table>\n",
"</div>\n",
"\n",
"<div align=\"left\">\n",
"<blockquote style=\"margin-left: 0; margin-right: auto;\">\n",
"<p>本章学习完成后,你已具备 GE 的概念基础与推理实践能力,可继续学习进阶开发(图编译、模型执行与优化等章节)。</p>\n",
"</blockquote>\n",
"</div>\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"pygments_lexer": "ipython3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}