谷动谷力

 找回密码
 立即注册
查看: 5301|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
发表于 2022-1-19 12:03:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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

更多图片 小图 大图
组图打开中,请稍候......
+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-24 15:22 , Processed in 0.567480 second(s), 40 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表