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

更新请查看:

【嵌入式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上部署神经网络之人体活动行为识别

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

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

  • 2
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值