039、Edge Impulse模型部署到嵌入式设备
039 Edge Impulse模型部署到嵌入式设备昨晚调试一块STM32F746开发板到凌晨三点,板子上的LED死活不按预期闪烁。明明Edge Impulse导出的模型在PC端仿真跑得好好的,烧进去就罢工。最后发现是TFLite Micro的arena大小没对齐——这种坑,踩一次记一辈子。从Edge Impulse导出模型文件Edge Impulse的部署流程其实很清晰,但新手容易在导出环节就埋下隐患。进入Deployment页面,选择“C++ library”选项,注意这里有个下拉菜单让你选目标平台。别直接选“Generic”,除非你打算自己手写所有底层适配。我通常选“TensorFlow Lite for Microcontrollers”,这个选项生成的代码结构最干净,依赖最少。导出后得到一个zip包,解压看看结构。核心文件就两个:model-parameters/model_metadata.h和tflite-model/trained_model.tflite。前者存了输入输出张量的维度信息,后者是量化后的模型文件。有个细节容易被忽略——ei_classifier.h里定义了EI_CLASSIFIER_TFLITE_INPUT_DATA_SIZE这个宏,它决定了你每次推理需要喂多少字节的数据。如果你的传感器数据是16位整型,记得在预处理阶段做类型转换,别直接memcpy。嵌入式端的工程整合把