006 常见TinyML硬件平台对比:Arduino、STM32、ESP32、Raspberry Pi Pico
上周帮一个做智能穿戴的朋友调模型部署,他选了Arduino Nano 33 BLE Sense,结果模型推理一次要800毫秒——这还只是跑一个2KB的MobileNetV1变体。他盯着串口打印出来的时间戳,脸都绿了。我插上逻辑分析仪一看,CPU在推理期间几乎100%满载,DMA根本没使能。这不是板子不行,是选型时没想清楚“你要跑什么模型、跑多快、功耗多少”这三个问题。
今天这篇笔记,我把手头常用的四类TinyML硬件平台拉出来遛一遛。不是列参数表,是讲真实部署时你会撞上的坑。
Arduino:玩具还是利器?
Arduino Nano 33 BLE Sense是我见过最“表里不一”的板子。外观跟普通Arduino一样人畜无害,但里面塞了一颗nRF52840——Cortex-M4F,64MHz,1MB Flash,256KB RAM。这个配置在TinyML圈子里其实能打。
部署TensorFlow Lite Micro的体验:官方支持确实好,Arduino IDE里直接装库就能跑。但别高兴太早。我试过把一个3层全连接网络(每层64节点)部署上去,模型文件才12KB,RAM占用直接飙到80KB。256KB RAM看着不少,但你要留出音频缓冲区、BLE协议栈、还有Arduino核心库那几十KB。实际可用RAM大概在120KB左右。
踩过的坑