
1、首先需要生成一个onnx文件初始模型并没有经过训练。嵌入式 AI 最耗费精力的往往不是模型训练而是编译器版本、DFP 支持包、I2C 通信时序、内存对齐、串口重定向这些底层细节。用未经收敛的初始模型先把工程跑通能确保在进入复杂的算法调优前底层的构建、烧录与推理接口。2、生成onnx文件流程参考Pytorch导出ONNX文件教程-CSDN博客3、打开cubemx软件然后新建工程在下方的MIDDLEWARE中enable AI格式选择onnx类型默认然后添加进已经生成好的onnx文件点击下方的analyse右侧可以看到模型占用的内存大小4、点击右上角的start project5、进入X-CUBE-AI配置界面6、勾选core选择代码应用模板然后点击右下角的ok7、此时再次点击x-cube-ai,即可看到配置compression可以对模型占用内存进行压缩optimization可以设置模型在时间还是空间上的优化validation inputs可以设置模型的输入数据此时选择随机输入即可用于快速创建工程。右侧的analyze可以看到模型的情况。8、然后根据自己开发板的实际需求在cubemx中对其他功能进行配置。9、打开新建的工程10、后续对模型代码的利用主要集中在app_x-cube-ai.c中acquire_and_process_data函数的作用是把现实世界的物理数据转换成 AI 模型能“吃”的格式。作用是读取传感器然后 填入模型输入缓冲区data_ins11、post_process()函数的作用是把 AI 模型的“脑电波”翻译成硬件能执行的“动作指令”。读取模型输出缓冲区data_outs找出最大概率Argmax然后 控制 GPIO、发送串口数据或切换系统状态。12、原厂代码进行三步流水线一错即停的逻辑可以根据自己的产品需求把它改造成更健壮的容错结构。