谷动谷力
标题: 我在STM32单片机上跑神经网络算法 [打印本页]
作者: sunsili 时间: 2022-1-19 12:03
标题: 我在STM32单片机上跑神经网络算法
本帖最后由 sunsili 于 2023-5-9 15:13 编辑
我在STM32单片机上跑神经网络算法[color=rgba(0, 0, 0, 0.3)]
这里使用官方提供的模型进行测试,用keras框架训练:
https://github.com/Shahnawax/HAR-CNN-Keras
模型介绍
存储库包含以下文件
- HAR.py,Python脚本文件,包含基于CNN的人类活动识别(HAR)模型的Keras实现,
- actitracker_raw.txt、包含此实验中使用的数据集的文本文件,
- model.h5,一个预训练模型,根据训练数据进行训练,
- evaluate_model.py、Python 脚本文件,其中包含评估脚本。此脚本在提供的 testData 上评估预训练 netowrk 的性能,
- testData.npy,Python 数据文件,包含用于评估可用预训练模型的测试数据,
- groundTruth.npy,Python 数据文件,包含测试数据的相应输出的地面真值和
- README.md.
1.这里默认大家都已经安装好了STM32CubeMX软件。
然后按照下面的步骤安装好CUBE.AI的扩展包
接下来就是熟悉得新建工程了
接下来就是配置下载接口和外部晶振了。
选择Software Packs,进入后把AI相关的两个包点开,第一个打上勾,第一个选择Validation。
- System Performance工程:整个应用程序项目运行在STM32MCU上,可以准确测量NN推理结果,CP∪U负载和内存使用情况。使用串行终端监控结果(e.g.Tera Term)
- Validation工程:完整的应用程序,在桌面PC和基于STM32 Arm Cortex-m的MCU嵌入式环境中,通过随机或用户测试数据,递增地验证NN返回的结果。与 X-CUBE-A验证工具一起使用。
- Application Template工程:允许构建应用程序的空模板项目,包括多网络支持。
选择刚刚配置的串口作为调试用。
点击分析,可从中看到模型压缩前后的参数对比
致此,模型验证完成,下面开始模型部署
四、模型转换与部署最后点击GENERATE CODE生成工程。
选择好下载器后就可以下载代码了。
代码烧写在芯片里后,回到CubeMX中下图所示位置,我们点击Validate on target,在板上运行验证程序,效果如下图,可以工作,证明模型成功部署在MCU中。
参考资料:
- https://youtu.be/grgNXdkmzzQ?t=10
- https://youtu.be/grgNXdkmzzQ?t=103
-
640?wx_fmt=png.jpg
(131.38 KB, 下载次数: 96)
-
640?wx_fmt=png.jpg
(168.31 KB, 下载次数: 92)
-
640?wx_fmt=png.jpg
(55.7 KB, 下载次数: 103)
-
640?wx_fmt=png.jpg
(237.04 KB, 下载次数: 85)
-
640?wx_fmt=png.jpg
(174.73 KB, 下载次数: 103)
-
640?wx_fmt=png.jpg
(68.21 KB, 下载次数: 102)
-
640?wx_fmt=png.jpg
(80.22 KB, 下载次数: 82)
-
640?wx_fmt=png.jpg
(131.03 KB, 下载次数: 91)
-
640?wx_fmt=png.jpg
(120.82 KB, 下载次数: 100)
-
640?wx_fmt=png.jpg
(95.72 KB, 下载次数: 85)
-
640?wx_fmt=png.jpg
(97.85 KB, 下载次数: 98)
-
640?wx_fmt=png.jpg
(139.14 KB, 下载次数: 104)
-
640?wx_fmt=png.jpg
(25.03 KB, 下载次数: 93)
欢迎光临 谷动谷力 (http://bbs.sunsili.com/) |
Powered by Discuz! X3.2 |