端侧AI部署小白入门超级清单:RKNN开发从0到1
必读说明:这是一份"词典级"清单,每个概念都包含定义、作用、为什么重要、小白理解技巧、实操例子。建议打印出来,边学边查,打勾掌握。
模块一:硬件与芯片概念(底层基础)
1. CPU(中央处理器)
- 定义:电脑/开发板的"大脑",擅长逻辑控制、任务调度,但并行计算能力弱
- 作用:负责运行操作系统、管理内存、调度NPU/GPU任务
- 为什么重要:AI开发中CPU负责数据预处理、后处理,不能指望它跑模型
- 小白技巧:想象CPU是"工厂经理",指挥工人但不亲自干活
- 实操:在RKNN中,CPU负责调用
rknn.init()初始化,但推理靠NPU
2. GPU(图形处理器)
- 定义:拥有数千个计算核心,擅长并行计算,最初为游戏图形渲染设计
- 作用:训练深度学习模型的主力,也能推理,但功耗高、体积大、贵
- 为什么重要:你的电脑用GPU训练模型,但嵌入式设备用不起GPU
- 小白技巧:GPU是"万人施工队",干重复性体力活快,但管理成本高
- 实操:3080显卡算力8.6,训练时显存占用可达11GB
3. FPGA(现场可编程门阵列)
- 定义:硬件电路可反复编程的芯片,灵活性高但开发难度极大
- 作用:在AI领域用于超低功耗、定制化场景
- 为什么重要:了解即可,RKNN开发基本用不到FPGA
- 小白技巧:FPGA是"乐高积木",能拼成任何形状,但得自己设计图纸
4. NPU(神经网络处理器)
- 定义:专为AI计算设计的芯片,模拟人脑神经元结构,一条指令完成一组神经元计算
- 作用:嵌入式设备跑AI模型的核心,低功耗、高效率、小体积
- 为什么重要:这是你吃饭的"主战场",所有工作都围绕NPU展开
- 小白技巧:NPU是"AI专用流水线工人",只做卷积/矩阵乘法,但做得飞快
- 实操:RV1126的NPU算力2 Tops,RK3588可达6 Tops
5. MAC(乘加运算)
- 定义:Multiply-Accumulate,AI计算的基本单位:1次乘法 + 1次加法
- 作用:CNN中90%的计算都是MAC,卷积就是大量MAC操作
- 为什么重要:算力公式的基础,理解MAC才能理解TOPS
- 小白技巧:MAC就像"先乘后加"的算盘操作,重复亿万次
- 实操:1个MAC = 2 FLOPs(浮点运算)
6. PE(处理单元)
- 定义:NPU内部并行计算的核心单元,大量PE组成阵列
- 作用:同时执行多个MAC操作,实现数据并行
- 为什么重要:PE数量决定NPU的并行度,直接影响算力
- 小白技巧:PE是NPU的"工人",一个NPU有几百到几千个PE
7. TOPS(每秒万亿次操作)
- 定义:Tera Operations Per Second,衡量AI芯片算力的单位
- 作用:比较不同NPU性能的核心指标
- 为什么重要:选型芯片时,TOPS越高,推理越快
- 小白技巧:TOPS就像"工厂日产量",数字越大越能干活
- 实操:RK3568算力1 Tops,RK3588算力6 Tops,相差6倍
8. 算力计算公式
- 定义:NPU算力 = MAC数量 × 2 × 频率(GHz)
- 作用:验证官方标称算力是否真实
- 为什么重要:理解算力来源,评估模型能否实时运行
- 小白技巧:频率越高,工人干活越快;MAC越多,工人数量越多
- 实操:RK3568的512 MAC × 2 × 0.9 GHz = 0.9216 Tops ≈ 1 Tops
模块二:软件工具链(开发武器库)
9. Conda(环境管理器)
- 定义:跨平台的软件包和环境管理工具,创建隔离的Python环境
- 作用:解决"这个项目要Python3.6,那个项目要Python3.8"的问题
- 为什么重要:没有Conda,你的系统会陷入版本地狱,寸步难行
- 小白技巧:Conda是"项目隔离舱",各项目互不干扰
- 实操:
conda create -n rknnpython=3.6# 创建隔离舱conda activate rknn# 进入隔离舱conda deactivate# 退出隔离舱(编译SDK前必须执行!)10. RKNN-Toolkit(模型转换核心)
- 定义:瑞芯微官方提供的Python工具库,将TF/PyTorch模型转为.rknn格式
- 作用:桥梁作用,让模型能在NPU上跑起来
- 为什么重要:这是你的"翻译官",没有它模型无法部署
- 小白技巧:Toolkit1.x用于RV1126,Toolkit2.x用于RK3568/RK3588
- 实操:
fromrknn.apiimportRKNN rknn