理论教程
2025/9/4大约 7 分钟
书名中的“实战”,核心是“在编程实践中学习”。本书作为昇腾310B芯片的入门教材,跳出单纯的理论讲解,通过真实的AI推理部署案例,带读者直观理解昇腾310B的硬件架构特性、Atlas工具链使用逻辑与端侧AI项目开发流程,包括模型适配、量化优化、媒体处理、算子开发、性能分析与推理服务部署等环节。每一个知识点都配套可落地的代码示例,使读者在动手编码的过程中逐步掌握昇腾310B的工程应用能力,实现从“了解芯片”到“能用芯片落地项目”的跨越。
本书定位与目标读者
本书面向以下三类读者:
- 高校学生 / 科研新人:希望通过一套系统化路径快速理解边缘AI硬件与部署流程。
- 嵌入式 / IoT 工程师:已有一定Linux / C / Python基础,希望把AI模型真正跑在边缘端并做性能调优。
- AI应用开发者 / 创客:已经能使用主流深度学习框架,希望将训练好的模型迁移到昇腾310B进行高效推理与产品化落地。
阅读预期:
- 零基础读者可依照“快速起步路径”完成第1~3章+精选案例;
- 进阶读者可继续深入算子优化、系统整合与复杂多模型协同部署;
- 有项目诉求的团队可参考“方法论 + 附录模板”直接搭建属于自己的边缘AI应用。
学习路径速览(建议路线)
- 环境与工具链:硬件认知、开发环境装配、CANN 工具初试
- 基础模型部署:图像分类、目标检测、语义分割、OCR 与 NLP
- 媒体处理与底层能力:PyACL、DVPP、算子开发与内存管理
- 性能优化:模型结构裁剪、精度与性能权衡、Profiling 与流水线优化
- 系统构建:多进程、多模型协同、任务调度、监控与日志体系
- 实战案例:需求分析、方案设计、模型适配、部署脚本与交付验收
全书结构(初版规划)
本书主体分为 理论教程 与 实践案例,并在正文之后设置独立的附录部分。
理论教程
| 章节 | 标题 | 内容聚焦 | 读者收益 |
|---|---|---|---|
| Chapter 1 | 昇腾310B边缘计算基础 | 边缘计算概念、竞品对比、310B规格 | 建立边缘计算认知与选型能力 |
| Chapter 2 | CANN 软件栈核心组件解析 | 异构架构、ATC转换工具、msame推理 | 掌握CANN基础与模型转换流程 |
| Chapter 3 | 昇腾 PyTorch 扩展迁移基础 | 环境搭建、torch_npu插件、经典网络迁移 | 学会在昇腾上运行PyTorch模型 |
| Chapter 4 | PyACL 应用开发基础 | ACL运行时、内存管理、模型推理流程 | 掌握C/C++底层应用开发能力 |
| Chapter 5 | DVPP视频处理基础 | VENC、VDEC、VPC、JPEG媒体处理 | 掌握310B媒体硬件调用与调试方法 |
| Chapter 6 | 算子开发实战 | TBE DSL流程、310B计算架构、自定义算子 | 理解底层计算原理,具备算子扩展能力 |
| Chapter 7 | 性能分析与优化案例教学 | Profiling分析、瓶颈定位、AIPP/DVPP、流水线优化 | 掌握性能调优与系统工程化技能 |
| Chapter 8 | 模型量化与精度性能权衡 | FP16、INT8、校准数据、精度对齐与性能对比 | 学会在精度与性能之间做可验证取舍 |
| Chapter 9 | AI项目交付闭环 | SSD300实验室实时检测、评测体系、标准化交付流程 | 建立规范的AI项目交付方法论 |
实践案例
包含从 Case 1 到 Case 9 的九个端侧 AI 实战案例,涵盖人脸打卡机、实时跟踪、智能电子琴、掌纹识别、数据采集仪、智能小车、智能相册、手势识别与聊天机器人。
附录
附录用于集中收录实验基础和查阅型资料。附录 1 介绍开发板与基础环境,附录 2 汇集工具箱、FAQ 与参数模板;后续附录按阿拉伯数字顺序扩展。
各模块核心要点概述
1. 昇腾310B边缘计算基础
- 边缘计算 vs 云计算:概念辨析与应用场景
- 边缘计算卡生态:NVIDIA、华为、瑞芯微对比
- 昇腾310B 技术规格详解
2. CANN 软件栈核心组件解析
- CANN 异构计算架构与 CUDA 对比
- ATC 模型转换工具流程、参数详解与注意事项
- msame 推理工具使用概览
3. 昇腾 PyTorch 扩展迁移基础
- PyTorch (torch_npu) 环境安装与配置
- 基础网络实现:Linear, MLP, LeNet
- 现代 CNN 移植实战:AlexNet, VGG, ResNet
4. PyACL 应用开发基础
- 快速入门:Hello World 与运行模式
- 初始化与运行时管理:Device, Context, Stream, Memory
- 模型推理完整流程:加载、Dataset准备、执行
- Host 与 Device 之间的数据传输、同步与资源释放
5. DVPP视频处理基础
- DVPP 编程模型、内存约束与数据格式
- VENC、VDEC、VPC、JPEG 的调用流程
- 视频编解码与图像处理案例、参数调试和性能测试
6. 算子开发实战
- 为什么需要自定义算子:TBE vs AICPU
- 昇腾310B 硬件架构:存储层级与向量计算单元
- TBE DSL 开发流程与基础算子实例
7. 性能分析与优化案例教学
- 可运行 ResNet18-TinyImageNet 性能基线
- Profiling 性能分析:采集、分段计时与关键视图解读
- 核心优化技术:Buffer 复用、AIPP、DVPP 与 Queue Pipeline
8. 模型量化与精度性能权衡
- FP32、FP16、INT8 的区别与适用场景
- PTQ、QAT、校准数据集与精度对齐
- ATC 精度模式、量化失败模式与性能对比流程
9. AI项目交付闭环
- 基于 COCO SSD300 的实验室实时检测告警系统
- 需求澄清 Canvas、指标分层与场景后处理
- Baseline 策略、评测集设计与迭代看板
- 资产沉淀、交付目录与上线 Checklist
- 验收、回归与风险管理
实践案例 (Case 1 - 9)
- Case 1:智能打卡机 (Web应用, 人脸识别)
- Case 2:边缘端实时目标跟踪 (检测+关联)
- Case 3:智能电子琴 (手势识别+音频合成)
- Case 4:智能掌纹识别机 (预处理, 特征提取)
- Case 5:智能数据采集仪 (传感器, 数据分析)
- Case 6:智能小车 (视觉, 路径规划, 运动控制)
- Case 7:智能相册 (识别, 分类, 检索)
- Case 8:手势识别 (数据采集, 实时系统)
- Case 9:智能聊天机器人 (LLM, 语音交互, RAG)
附录
- 附录 1:开发板硬件、系统安装、启动与网络连接、基础环境验证
- 附录 2:常见报错速查、模型转换参数模板、性能与质量 Checklist、术语表与 FAQ
实践驱动与开源协作
本书所有示例代码、脚本、案例与附录工具均开源托管于本仓库。欢迎通过 Issue / PR 反馈问题、提交改进、补充案例或翻译。我们鼓励读者参与以下工作:
- 增补新模型 / 新任务的部署范式
- 分享 DVPP、PyACL、自定义算子与性能优化经验
- 提交性能测试报告(含硬件信息 + 指标)
- 翻译与文档校对
如何使用本书
| 读者类型 | 推荐阅读路径 | 目标 | 补充建议 |
|---|---|---|---|
| 零基础学生 | 附录 1、Chapter 1、Chapter 2、Case 1 | 能跑通首个模型 | 结合案例做改动实验 |
| 嵌入式工程师 | Chapter 4、Chapter 5、Chapter 6、Chapter 7 | 掌握底层开发与优化 | 关注资源管理、媒体处理、算子开发与性能调优 |
| AI应用开发者 | Chapter 2、Chapter 3、Chapter 8、选读 Case 案例 | 快速场景落地 | 重点关注 PyTorch 迁移、模型部署与量化评估 |
| 技术负责人 | Chapter 1、Chapter 7、Chapter 8、Chapter 9 | 构建团队方法论 | 制定内部量化评估、性能验收和交付标准 |
许可证与引用
本书内容采用 Apache 2.0 许可证。引用本书内容请注明:
《昇腾310B实战:从入门到精通边缘计算与人工智能》(GitHub: zhouxzh/Ascend310)
