赞
踩
更新请查看:
【嵌入式AI开发&问题综述篇】STM32cubeIDE+CUBE-AI进行神经网络部署问题和细节汇总
1. 使用stm32cubeIDE或stm32cubeMX中的出现任何问题都可查看运行日志,查找原因。
C:\Users\<username>\.stm32cubemx\ai_stm32_msg.log
2. “validation on target “ ERROR
这个bug遇到的人有点多,不同的板子我也不确定都能解决,是ST的问题。
其他单核板子都不行的注意以下:
(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)直接注释掉这行代码;
(2)在main函数声明MX_USART1_UART_Init时去掉两个static ,重新编译即可成功。
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.
这是cube-ai支持dense层(全连接层)进行量化压缩的原因:
因此,如果你的网络没有全连接层,那么cube-ai工具是不给你压的,如MobileNetv2。你可以自行添加一些层测试。
更多细节参考:
【嵌入式AI开发】部署总结篇:STM32cubeIDE上部署神经网络之人体活动行为识别
后面有问题会持续更新,请留意!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。