一篇文章讲清楚:在单片机上部署AI的整个流程!(TinyML+STM32)

一篇文章讲清楚:在单片机上部署AI的整个流程!(TinyML+STM32)

本公众号的老粉丝比较清楚,我们正在做嵌入式AI的课程,其中最主要的目的是教会大家如何将AI部署到单片机中,让单片机学会思考,可以实现自动推理。

最近文章很久没有更新,是因为小编在忙着录制课程,已经报名课程的同学感觉直播讲课太慢并且还不能快放,所以我们将直播课程改为了“录播+直播答疑”的形式。

今天小编带大家讲清楚整个部署的流程是什么样的!

图片

上面这张图是本次课程出场次数比较多的“老演员”。下面本文以上面图为例,讲解清楚整个流程。

从上面流程中可以发现,共分为了8个主要的步骤。其中最上面带着芯片图片的代表相关工作是在单片机或MCU测完成的。即:数据采集和运行推理是在MCU测进行的。其他步骤在云端或者PC端运行。

一:收集数据(数据采集)

收集数据是整个TInyML的第一步,目的是为了进行模型训练。

数据采集是“把物理世界的真实信号,转换为MCU可以识别的数字信号”。比如把环境或者设备的状态转变为温度,把(电机负载的转换为电流、把声音转换为麦克风的信号、把震动或者冲击转换为加速度计或陀螺仪。

再用一句简单的话讲解:其实就是单片机的ADC

虽然看似简单的一句话,但是整个AI模型设计中起到至关重要的一环(我理解为它是最重要的一环,关于如何进行数据采集我还专门整理了一节课进行重点讲解)。因为我们采集数据是为了进行模型训练,当我们用于训练的数据不够准确时,训练出来的模型肯定就是不准确的,最终导致推理出来的效果是不理想的。

数据采集的注意至少包括下面的几点:

1.需要收集与系统相关的数据:

虽然大模型会自动忽略与系统不相关的数据,但我们仍然需要训练与想要设计的系统相关的数据。

举个例子:当我们想要设计一个“震动检测的模型”,但是我们喂给大模型的数据是“食堂的菜单”,那么最终的结果就是:这个数据会被大模型视为无效数据。

图片

2.收集的数据需要接近于真实的应用场景。

除了接近于真实常营,并且应该尽可能的覆盖全部的应用场景。比如温度数据:我们需要弄清楚我们的系统关心的是环境温度还是机器内部的温度?

如果我们要设计的系统比较关心的是环境温度,那么我们采集机器内部(腔体)的温度,就是不完美的。

3.多多益善

如果一个变量会随着温度变化,那么需要尽可能收集整个温度变化范围内的数据。

二、预处理数据

图片

预处理其实就是对数据进行贴标签。标注哪些数据是正常的,哪些数据是异常的。

  • 如果我们的任务是分类(比如手势 A/B/C、正常/异常),数据采集时就要明确:哪一段属于哪个类别,类别切换时怎么处理过渡段,“异常”是否拆分子类(不同类型异常)
  • 如果任务是回归(比如拟合某个连续值),要明确:输出值怎么取(传感器真值?标定后的真值?),输出值的单位、范围、精度等。

标签规则不清晰,后续训练结果看似能跑,但实际部署会出现大量“推理不准确”的情况。

数据预处理这个步骤,还有一个比较重要的作用是:先把原始信号加工成更适合学习的特征。因为我们如果直接把原始数据丢进模型训练,往往效率不高,模型还会变得很大。

用稍微学术一点的语句举个例子:语音/声音类任务通常不会直接喂原始波形,而是转成谱图或 MFCC;振动类任务也经常会做窗口切分、统计特征或频域特征。

使用嵌入式工程师可以听懂的语言来讲解的话:数据预处理可以理解为“数据的滤波算法”。

在进行数据预处理时,有一个非常重要的原则:我们训练模型时用什么预处理,部署时必须用同一套逻辑。也就是在 PC 端和 MCU 端用同一套公式与流程。

三、设计模型

设计模型以及训练模型是在PC或者云服务器进行的。在咱们的课程中主要是以TensorFlow为框架。

tensorflow - 开源机器学习平台的最新发展 - 懂AI

TensorFlow是一个由 Google 开发的开源机器学习框架,用来设计、训练和部署各种神经网络模型;

到了“设计模型”这一环节,很多人容易犯的错是:照着大模型思路堆层数、加通道,结果训练看似不错,但部署发现 MCU 资源不够。

注意事项:

当我们进行模型设计的时候,需要在设计之初,就开始思考目标 MCU 的 Flash/RAM/时延预算等等各种参数。因为最终模型要部署到端侧,并且很可能要量化。

四、评估优化

TinyML 的评估从来不是只看准确率。因为在 MCU 上你还要关心:

  • 模型大小是否能放进 Flash、
  • 推理过程中 RAM 峰值是否超预算
  • 单次推理时延是否满足实时性
  • 在噪声与工况变化下是否稳定等等情况。

如果我们已经设计的模型需要进行优化,那么往往需要从

  • 结构调整减少层数/通道
  • 替换更轻量结构
  • 输入优化(降低分辨率、减少特征维度)
  • 量化准备:为 int8 推理做准备(端侧最常见)等几个维度来思考量化方向。

我可以把这一环节理解为:模型从“能用”走向“能部署、能长期稳定用”。

五、转换模型

转换模型的目的是把在PC或者云服务器训练出来的模型转换为可以在MCU端运行的推理模型。TinyML 工作流里必经的一步是:把 TensorFlow 模型转换成 TensorFlow Lite(.tflite 格式。

TensorFlow Lite:在TensorFlow的基础上裁剪出来的一个可以运行在移动设备上的推理模型。它不支持对模型进行训练,仅支持使用之前在平台或者PC上训练过的模型进行推理。

图片

六、部署模型

当目标平台变成 MCU,推理框架也随之切换为 TensorFlow Lite Micro(TFLM)。它的定位很明确:让 .tflite 在没有操作系统、资源有限的 MCU 上运行。

图片

模型部署其实可以理解为:

(1)把 .tflite 模型转换成 C 数组或二进制资源,编进固件,

(2)集成 TFLM 源码(或使用裁剪后的库)

(3)注册需要的算子(模型用到哪些算子就注册哪些)

(4)分配 Tensor Arena(静态内存区,用于中间张量与运行缓冲)

等几个步骤。

在我们的课程中有详细的讲解,我会一步一步的告诉大家怎么把一个.tflite格式的文件转换为C语言数组、怎么下载并移植TFLM的源码。

再次汇总一下,老演员登场:TInyML的流程是下面的几部:

    图片

    Read more

    【保姆级】无需公网 IP!Windows 本地一键部署 OpenClaw,10 分钟打造你的飞书 AI 数字员工

    【保姆级】无需公网 IP!Windows 本地一键部署 OpenClaw,10 分钟打造你的飞书 AI 数字员工

    目录 写在前面 OpenClaw 是什么? 蓝耘平台是什么?与 OpenClaw 的关系 步骤一:极速安装,一行命令搞定环境 步骤二:启动向导,初始化配置参数 步骤 三:注入灵魂,获取蓝耘MaaS API Key 步骤四:打通渠道,搭建飞书长连接桥梁 步骤五:引擎点火,启动核心网关服务 步骤六:仪表盘检阅,后台状态可视化 步骤七:实战演练,验证智能交互效果 快速排错提示 写在末尾 写在前面 本文面向:想在 Windows 本地(PowerShell)一键部署 OpenClaw,使用蓝耘MaaS作为大模型,并通过飞书长连接模式实现 AI 机器人的用户。 内容涵盖:从零开始安装配置、对接飞书机器人、验证与排错的完整流程,

    By Ne0inhk
    学生党自动排版 AI 写论文工具推荐(小白必备)

    学生党自动排版 AI 写论文工具推荐(小白必备)

    对于论文写作小白,自动排版是最能节省时间、避免格式错误的核心功能。以下是 2026 年实测好用的 5 款工具,覆盖从选题到终稿的全流程,尤其适合学生党快速上手、高效完成论文。 一、全流程王者:PaperRed(推荐指数:★★★★★) 核心优势:一站式解决论文写作所有痛点,自动排版功能尤为强大 * 智能排版:内置 2000 + 高校专属模板,一键匹配本校格式规范(字体、行距、页眉页脚、标题层级全到位) * 文献自动排版:支持 GB/T 7714 全类型引用,自动生成参考文献列表,避免手动编号错误 * 动态目录:章节修改后自动更新,公式编号、图表引用精准匹配 * 小白友好:分步引导式写作,从选题到答辩 PPT 全流程辅助,降低学术写作门槛 * 免费额度:基础排版、查重、AIGC 检测免费,

    By Ne0inhk
    用老 Mac 跑本地 AI:OpenClaw 环境一键搭建

    用老 Mac 跑本地 AI:OpenClaw 环境一键搭建

    用老 Mac 跑本地 AI:OpenClaw 环境一键搭建 老款 Mac 可以通过一键搭建 OpenClaw 环境,快速部署本地 AI 服务。本文将详细介绍如何使用自动化脚本一键搭建 OpenClaw 环境,让老 Mac 发挥余热,成为强大的本地 AI 工作站。 一、硬件要求 1.1 最低配置 组件最低配置推荐配置说明CPUIntel i3 第 3 代Intel i5 第 4 代及以上支持 VT-x/VT-d内存4GB8GB 或更高DDR3存储128GB SSD256GB SSD 或更高SATA 或 NVMe网络Wi-FiWi-Fi + 有线有线网络优先

    By Ne0inhk
    【保姆级教程】无成本零门槛安装配置OpenClaw龙虾AI全能助手

    【保姆级教程】无成本零门槛安装配置OpenClaw龙虾AI全能助手

    哈喽大家好!最近爆火的 OpenClaw(龙虾AI)全能助手大家体验了吗?它不仅能帮你自动整理邮件、查询天气,还能全自动写小红书笔记并发布,简直是打工人和自媒体人的摸鱼神器! 很多小伙伴想玩但又怕配置太复杂、花销太大。今天给大家带来一篇零门槛、保姆级的安装配置教程!教你如何低成本获取云服务器,轻松实现 AI 大模型自由。全程图文指引,小白也能轻松搞定,赶紧跟着操作起来吧! 一、获取云服务器 想要畅玩 OpenClaw,首先我们需要一个服务器。这次教大家如何获取腾讯云轻量服务器来进行配置。 ⏰ 活动时间:2026年1月21日 - 3月31日 腾讯推出了登录 CodeBuddy 送 2C2G4M 轻量服务器的限时活动:登录先送1个月,活跃7天再送2个月。 👉 【官方地址】:https://www.codebuddy.cn/promotion/?ref=ie2rwhd1loq 根据页面提示安装好软件并登录账号后,直接选择一个月的轻量应用服务器即可。 之后只要累计活跃7天就能续费两个月(每天和 AI

    By Ne0inhk