sunsili 发表于 2022-1-19 12:03:35

我在STM32单片机上跑神经网络算法

本帖最后由 sunsili 于 2023-5-9 15:13 编辑

我在STM32单片机上跑神经网络算法



这里使用官方提供的模型进行测试,用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

页: [1]
查看完整版本: 我在STM32单片机上跑神经网络算法