开发板评测 | STM32F401进行cnn测试以及Cubemx使用步骤

Cubemx使用步骤:

1、目标器件的选择

“”

2、引脚分配

“”

3、外设配置

“”

4、时钟配置

“”

5、工程配置

“”

6、程序编写

本次的测试内容:通过训练剪枝一个简单的cnn。转成c代码编译到stm32f401上。

步骤:

1)使用PC端python和tensorflow框架训练神经网络。通过PC端读取网络参数,确定网络参数范围。
2)再进行神经网络剪枝,保存剪枝后的网络参数。将剪枝后的神经网络网络算法用C语言实现,将参数导入到程序当中。
3)将图像通过pc处理后传给STM32F401

系统框图

“”

软件框架

“”

测试结果相比于EMSK开发板速度有大幅度提升,时间减少了50%以上。

1、 问题:链接时提示空间不足(Error:L6406E)

解决:1、以更精简短小的C库替代标准库,减小代码大小,打开Project->Options for Target ''xxx"->Target,将Use MicroLIB前面的复选框勾上。

“”

2、 选择更高的优化等级,让编译器自动减小代码大小。打开Project->Options for Target ''xxx"->C/C+±>Optimization 其中有O0~O3三个优化级别,可以选择O3

“”

3、 由于采用以上两种方式均不能解决参数和中间变量和feature_map过大的情况,因此将ram和rom的内存大小进行修改。

“”

最新文章