📘 STM32CubeAI
量化 & 内存优化
🧩 30 章节 · 从入门到实战
01
课程导论:为什么需要模型量化与内存优化?
STM32CubeAI整体流程概览
02
浮点模型基础:了解FP32、FP16格式
它们在MCU上的代价
03
量化核心概念:什么是量化?
对称量化 vs 非对称量化
04
量化参数:Scale和Zero-point的数学原理
缩放因子与零点
05
量化感知训练(QAT)
在训练中模拟量化,减少精度损失
06
训练后量化(PTQ)
无需重新训练,直接转换模型
07
STM32CubeAI中的量化配置
如何选择量化模式与数据类型
08
INT8量化实战
将Keras模型量化为8位整数
09
量化精度评估
如何衡量量化后的模型精度损失
10
混合精度量化
部分层FP16,部分层INT8,平衡精度与性能
11
权重共享与剪枝
减少模型参数量的基本方法
12
结构化剪枝
移除不重要的通道或卷积核
13
非结构化剪枝
细粒度剪枝,配合稀疏计算库
14
知识蒸馏
用大模型教小模型,提升小模型精度
15
内存模型分析
STM32的Flash和RAM限制,模型各部分占用
16
激活值内存优化
减少中间特征图的存储开销
17
权重内存优化
Flash存储与运行时加载策略
18
内存池管理
如何复用内存缓冲区,降低峰值RAM
19
就地操作(In-place)
修改张量数据,避免拷贝
20
算子融合(Operator Fusion)
合并多个操作为一个,减少内存访问
21
STM32CubeAI代码生成
从模型到C代码的转换过程
22
生成的C代码结构分析
权重数组、激活缓冲区、推理函数
23
手动优化C代码
循环展开、指针优化、缓存友好访问
24
使用CMSIS-NN加速
ARM Cortex-M的神经网络内核库
25
DSP指令集利用
SMMLA、VMLA等指令加速矩阵运算
26
内存对齐与DMA传输
提高数据搬运效率
27
多模型协同
多个小模型分时复用内存,降低总占用
28
案例分析:图像分类模型在STM32F4上的完整优化过程
完整优化过程
29
案例分析:语音识别模型在STM32L4上的内存优化实战
内存优化实战
30
课程总结与未来趋势
TinyML发展方向,硬件加速器展望