【嵌入式AI开发】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总

更新请查看:

【嵌入式AI开发&问题综述篇】STM32cubeIDE+CUBE-AI进行神经网络部署问题和细节汇总

1. 使用stm32cubeIDE或stm32cubeMX中的出现任何问题都可查看运行日志,查找原因。

C:\Users\\.stm32cubemx\ai_stm32_msg.log

2. “validation on target “ ERROR

        这个bug遇到的人有点多,不同的板子我也不确定都能解决,是ST的问题。

【嵌入式AI开发】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总_第1张图片

其他单核板子都不行的注意以下:

(1)STM32的cube-ai工具包目前只支持单内核,如果你使用的是双内核板子,建议选择cube-ai支持内核时,选择M7使用;

(2)推荐使用STM32CUBEIDE软件,原来装了MX的,先卸了,因为功能可能会冲突;

(3) 检查IOC的时钟、串口、RCC关键的这三块的配置是否正确;

(4)以上都不行的话CUBE-AI工具降一个版本,目前7.0.0版本确实不稳定;

(5)STM32 Machine Learning & AI社区直接问  ST Communityhttps://community.st.com/s/topic/0TO0X0000003iUqWAI/stm32-machine-learning-ai

(6)该问题有新解决方法我会更新在:

【嵌入式AI开发&问题综述篇】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总 - 知乎

3. undefined reference to `MX_USART1_UART_Init'

 这是因为串口定义了两次的原因,两种改法:

(1)直接注释掉这行代码;

【嵌入式AI开发】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总_第2张图片

(2)在main函数声明MX_USART1_UART_Init时去掉两个static ,重新编译即可成功。

【嵌入式AI开发】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总_第3张图片

4. 验证数据的格式

【嵌入式AI开发】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总_第4张图片

cube-ai支持批量数据的验证,只需读入验证输入和验证输出即可,在目标板验证时,cube-ai通过依次读入验证数据,同时监听串口的输出,并将输出结果与期望输出对比计算在目标板上运行的精度。注意的是,期望输出即标签要求是one-hot向量形式。

5. Analyze 网络时超内存,无法压缩AI模型
Required Ram or Flash size for network is bigger than available Ram or Flash

回到最前面看网络有没有压缩:
WARNING: no weight was compressed.

【嵌入式AI开发】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总_第5张图片

这是cube-ai支持dense层(全连接层)进行量化压缩的原因:

【嵌入式AI开发】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总_第6张图片

因此,如果你的网络没有全连接层,那么cube-ai工具是不给你压的,如MobileNetv2。你可以自行添加一些层测试。

​更多细节参考:

【嵌入式AI开发】部署总结篇:STM32cubeIDE上部署神经网络之人体活动行为识别

后面有问题会持续更新,请留意!

【嵌入式AI开发&问题综述篇】STM32cubeIDE CUBE-AI进行AI部署问题和细节汇总 - 知乎

你可能感兴趣的:(STM32开发AI,ide,人工智能,stm32,嵌入式AI)