理论教程
书名中的“实战”,核心是“在编程实践中学习”。本书作为昇腾310B芯片的入门教材,跳出单纯的理论讲解,通过真实的AI推理部署案例,带读者直观理解昇腾310B的硬件架构特性、Atlas工具链使用逻辑与端侧AI项目开发流程,包括模型适配、量化优化、媒体处理、算子开发、性能分析与推理服务部署等环节。每一个知识点都配套可落地的代码示例,使读者在动手编码的过程中逐步掌握昇腾310B的工程应用能力,实现从“了解芯片”到“能用芯片落地项目”的跨越。
本书定位与目标读者
本书面向以下三类读者:
- 高校学生 / 科研新人:希望通过一套系统化路径快速理解边缘AI硬件与部署流程。
- 嵌入式 / IoT 工程师:已有一定Linux / C / Python基础,希望把AI模型真正跑在边缘端并做性能调优。
- AI应用开发者 / 创客:已经能使用主流深度学习框架,希望将训练好的模型迁移到昇腾310B进行高效推理与产品化落地。
阅读预期:
- 零基础读者可依照“快速起步路径”完成第1~3章+精选案例;
- 进阶读者可继续深入算子优化、系统整合与复杂多模型协同部署;
- 有项目诉求的团队可参考“方法论 + 附录模板”直接搭建属于自己的边缘AI应用。
学习路径速览(建议路线)
- 环境与工具链:硬件认知、开发环境装配、CANN 工具初试
- 基础模型部署:图像分类、目标检测、语义分割、OCR 与 NLP
- 媒体处理与底层能力:PyACL、DVPP、算子开发与内存管理
- 性能优化:模型结构裁剪、精度与性能权衡、Profiling 与流水线优化
- 系统构建:多进程、多模型协同、任务调度、监控与日志体系
- 实战案例:需求分析、方案设计、模型适配、部署脚本与交付验收
全书结构(初版规划)
本书主体分为 理论教程 与 实践案例,并在正文之后设置独立的附录部分。
理论教程
| 章节 | 标题 | 内容聚焦 | 读者收益 |
|---|---|---|---|
| 第1章 | 昇腾310B边缘计算基础 | 边缘计算概念、竞品对比、310B规格 | 建立边缘计算认知与选型能力 |
| 第2章 | CANN软件栈核心组件解析 | 异构架构、ATC转换工具、msame推理 | 掌握CANN基础与模型转换流程 |
| 第3章 | 昇腾PyTorch扩展迁移基础 | 环境搭建、torch_npu插件、经典网络迁移 | 学会在昇腾上运行PyTorch模型 |
| 第4章 | PyACL 应用开发基础 | ACL运行时、内存管理、模型推理流程 | 掌握C/C++底层应用开发能力 |
| 第5章 | DVPP视频处理基础 | VENC、VDEC、VPC、JPEG媒体处理 | 掌握310B媒体硬件调用与调试方法 |
| 第6章 | 算子开发实战 | TBE DSL流程、310B计算架构、自定义算子 | 理解底层计算原理,具备算子扩展能力 |
| 第7章 | 性能分析与优化 | Profiling分析、瓶颈定位、AIPP/DVPP、流水线优化 | 掌握性能调优与系统工程化技能 |
| 第8章 | 模型量化案例教学 | FP16、INT8、校准数据、精度对齐与性能对比 | 学会在精度与性能之间做可验证取舍 |
| 第9章 | AI项目交付闭环 | SSD300实验室实时检测、评测体系、标准化交付流程 | 建立规范的AI项目交付方法论 |
实践案例
包含从 案例 1 到 案例 9 的九个端侧 AI 实战案例,涵盖智能考勤机、目标跟踪检测、智能电子琴、掌纹识别、智能数据采集分析仪、智能小车、智能相册、实时手势识别与智能聊天机器人。
附录
附录用于集中收录实验基础和查阅型资料。附录 1 介绍开发板与基础环境,附录 2 提供基于昇腾 310B 的 Ubuntu 教程,附录 3 介绍 Python 编程基础,附录 4 介绍 Vibe Coding 基础,附录 5 提供 ROS2 基础教程,附录 6 汇集工具箱、FAQ 与参数模板,附录 7 说明 CANN、驱动与固件的版本配套、升级和当前版本查询。
各模块核心要点概述
第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
- 验收、回归与风险管理
实践案例 (案例 1 - 9)
- 案例 1:智能考勤机
- 案例 2:目标跟踪检测
- 案例 3:智能电子琴
- 案例 4:掌纹识别
- 案例 5:智能数据采集分析仪
- 案例 6:智能小车
- 案例 7:智能相册
- 案例 8:实时手势识别
- 案例 9:智能聊天机器人
附录
- 附录 1:开发板硬件、系统安装、启动与网络连接、基础环境验证
- 附录 2:基于昇腾 310B 的 Ubuntu 教程,涵盖命令、权限、网络、SSH、VNC、NFS、Docker、自启动与板端操作
- 附录 3:Python 编程基础
- 附录 4:Vibe Coding 基础
- 附录 5:ROS2 基础教程,涵盖 DDS、工作空间、通信、launch、TF2/URDF、多机通信与自启动
- 附录 6:常见报错速查、模型转换参数模板、性能与质量 Checklist、术语表与 FAQ
- 附录 7:CANN、NPU 驱动与设备固件的版本配套、升级、验收与回退边界
实践驱动与开源协作
本书所有示例代码、脚本、案例与附录工具均开源托管于本仓库。欢迎通过 Issue / PR 反馈问题、提交改进、补充案例或翻译。我们鼓励读者参与以下工作:
- 增补新模型 / 新任务的部署范式
- 分享 DVPP、PyACL、自定义算子与性能优化经验
- 提交性能测试报告(含硬件信息 + 指标)
- 翻译与文档校对
如何使用本书
| 读者类型 | 推荐阅读路径 | 目标 | 补充建议 |
|---|---|---|---|
| 零基础学生 | 附录 1、第1章、第2章、案例 1 | 能跑通首个模型 | 结合案例做改动实验 |
| 嵌入式工程师 | 第4章、第5章、第6章、第7章 | 掌握底层开发与优化 | 关注资源管理、媒体处理、算子开发与性能调优 |
| AI应用开发者 | 第2章、第3章、第8章、选读案例 | 快速场景落地 | 重点关注 PyTorch 迁移、模型部署与量化评估 |
| 技术负责人 | 第1章、第7章、第8章、第9章 | 构建团队方法论 | 制定内部量化评估、性能验收和交付标准 |
许可证与引用
本书内容采用 Apache 2.0 许可证。引用本书内容请注明:
《昇腾310B实战:从入门到精通边缘计算与人工智能》(GitHub: zhouxzh/Ascend310)
