1. TFLite 概述:什么是 TensorFlow Lite,为什么要在嵌入式上跑 AI,课程目标与前置知识

1.1 什么是 TensorFlow Lite?

TensorFlow Lite,简称 TFLite。说白了,它就是 Google 为移动端和嵌入式设备量身定做的一套轻量级推理框架。

我刚开始接触它的时候,第一反应是:这不就是把 TensorFlow 砍了一刀吗?后来发现,还真不是这么简单。TFLite 的核心思路是——模型训练在云端或 PC 上完成,推理部署在资源受限的设备上跑

它做了几件关键的事:

  • 模型压缩:把训练好的模型转成 .tflite 格式,体积能小好几倍
  • 算子优化:针对 ARM、RISC-V 等嵌入式 CPU 做了底层加速
  • 硬件加速:支持 GPU、DSP、NPU 等协处理器
  • 跨平台:Android、iOS、Linux、MCU 都能跑

一句话总结:TFLite 是让 AI 模型在资源受限设备上「跑得动、跑得快」的桥梁。

1.2 为什么要在嵌入式上跑 AI?

这个问题,我经常被问到。你想想看,为什么非要把 AI 塞进一个只有几百 KB 内存的芯片里?

原因其实很直接:

  1. 实时性要求:比如工业缺陷检测,数据传到云端再返回结果,黄花菜都凉了
  2. 隐私保护:语音助手、人脸识别这些数据,用户不想上传到服务器
  3. 离线可用:智能家居、可穿戴设备,不可能时刻联网
  4. 成本控制:云端推理按次收费,本地跑一次几乎零成本

我记得有个项目,客户要求在 STM32 上做手势识别。一开始他们想用云端方案,结果延迟 500ms 以上,用户体验极差。后来换成 TFLite Micro,延迟降到 30ms,而且完全离线。这就是嵌入式 AI 的价值所在。

我的经验:不是所有场景都适合嵌入式 AI。如果设备有稳定网络、对延迟不敏感、算力充足,那云端方案可能更省事。嵌入式 AI 的核心优势是「本地化、低延迟、低成本」。

1.3 课程目标

这门课的目标很明确——让你能独立完成 TFLite 在嵌入式平台上的移植和部署

具体来说,学完这门课,你应该能:

  • 理解 TFLite 的模型结构和推理流程
  • 掌握模型转换、量化的方法
  • 能在 ARM Cortex-M、RISC-V 等平台上跑通 TFLite
  • 会调优推理性能,解决实际部署中的坑
  • 能自己写一个简单的 TFLite 推理引擎

嗯,这里要注意:这门课不是讲怎么训练模型的。训练是另一门课的事。我们聚焦在「部署」这个环节。

1.4 前置知识

要跟上这门课,你需要具备以下基础:

知识领域 具体要求
C/C++ 编程 能写结构体、指针、回调函数,懂内存管理
嵌入式基础 了解 MCU 架构、GPIO、中断、定时器
Python 基础 能写简单的脚本,会用 pip 安装库
机器学习基础 知道神经网络是什么,理解卷积、全连接层

如果你对某个点不太熟,别担心。我会在课程中穿插一些基础知识讲解。但说实话,完全零基础的话,建议先补一下嵌入式 C 语言和基本的 ML 概念。

避坑指南:我曾经遇到过学员连指针都搞不清楚,结果在移植过程中被内存对齐问题折磨得死去活来。所以,C 语言基础一定要扎实。

1.5 课程概览

这门课一共 30 章,我把它分成了几个阶段:

  • 基础篇(1-5章):TFLite 原理、模型格式、转换工具
  • 工具篇(6-12章):量化、算子实现、内存优化
  • 实战篇(13-22章):在 STM32、ESP32、RISC-V 等平台移植
  • 进阶篇(23-30章):性能调优、硬件加速、自定义算子

每一章我都会给出可运行的代码示例,以及我在实际项目中踩过的坑。你跟着做一遍,基本就能上手了。

1.6 学习建议

最后,给你几点我个人习惯的建议:

  1. 动手实践:光看不练等于白学。每章代码都自己跑一遍。
  2. 准备一块开发板:STM32F4 或 ESP32 都行,几十块钱的事。
  3. 遇到问题先自己查:TFLite 的官方文档和 GitHub Issues 里能找到很多答案。
  4. 多问为什么:比如「为什么量化后精度会下降?」「为什么这个算子不支持?」——搞懂原理,才能举一反三。

好了,第一章就到这里。下一章我们开始动手,把 TFLite 环境搭起来,跑第一个推理程序。