STM32近日发布了Cube.AI人工智能技术神经网络开发设计工具箱,总体目标是将AI引入微控制器配电的智能产品,坐落于连接点边沿,及其物联网技术,建筑智能化,工业生产和诊疗运用中的深层内嵌式机器设备。
简单点来说,之后就可以在内嵌式MCU上跑AI实体模型了,买了一块开发板来做一些试着,做一下纪录。
我所应用的Nucleo开发板,MCU为STM32F767ZITCube.AI的主要特点:
从事先学习的神经网络实体模型转化成STM32提升的库。适用各种各样深度神经网络架构,如Keras,Caffe,ConvnetJS和Lasagne.根据STM32Cube™集成化,可轻轻松松完成不一样STM32微控制器系列产品的便携式。完全免费,客户友善的同意条文。大量有关信息,请参考:
https:// ** .st.com/en/embedded-software/x-cube-ai.html?icmp=tt9145_gl_pron_dec2018假如电脑沒有装过STM32的开发工具,必须最先安裝STM32 CubeMX与IAR。STM32 CubeMX可以在STM32官在网上下载。
下列为实例教程一部分,提议有标准的小伙伴们融合官方网短视频开展收看,https:// ** . ** .com/watch?v=grgNXdkmzzQ&t=396s 。
先安裝好CubeMX,开启后,在最右侧栏的Manage software installations中挑选INSTALL/REMOVE,安裝在其中的X-CUBE-AI,约700M尺寸。
在主界面最右面的这儿挑选安裝AI库以后建立工程项目,在左上方键入常用的MCU型号规格,以我的木板为例子,键入STM32F767。挑选好型号规格之后,把左侧栏的Artificial Intelligence启用Enable。
大家应用官网给予的实体模型开展检测,https://github.com/Shahnawax/HAR-CNN-Keras
HAR意指Hu ** n Activity Recognition (HAR) system,即人们行为识别。这一实体模型是依据人一段时间内的3D瞬时速度数据信息,来分辨人当今的个人行为,例如行走,慢跑,上楼梯,下楼梯等,很合乎Cortex-M系列产品MCU的应用领域。应用的数据信息如下图所示。
HAR使用的原始记录关键包括姿势归类、x、y、z轴瞬时速度等大家下载在其中的model.h5文档,尽管都还没仔细观看这一互联网的构造,但从实体模型尺寸就能略知一二,仅有8.48MB,果真MCU或是只有运作小一点的互联网。
按下面的图配备开展挑选,留意Compression要挑选为4,假如选用不缩小得话,必须的Minimum Flash为2.8MB,就连F767也不能满足。开展Compression为4的缩小后,必须的Minimum Flash为775.52KB。Cortex-M3-M7系列产品绝大多数MCU的上面Flash均为1M~2M,可以达到。但Compression会损害一部分精密度,应在硬件配置能承担的范畴内,尽可能挑选小的压缩系数。
AI实体模型挑选页面配备进行后,点一下右上方的Start Project开展下一步。
挑选Additional Software,进到后把AI有关的2个包点开,第一个挑选Validation,第二个加上勾。
在Additional Software中进一步配备AI库以后左侧栏中的Additional Software点开,挑选这其中的X-CUBE-AI,弹出来的Mode对话框中2个勾选框都打钩,Configuration对话框中,点开network菜单栏,配备应当和建立工程项目时填写的一样。
查验network菜单栏中实体模型文档配备是不是恰当可以点一下Validate on desktop开展认证,下边Output菜单栏中会导出Validation OK,也有一些认证的关键点。
导出Validation OK,表明实体模型没有问题下面配备MCU,具体烧录一下,看一下能否work。
最先配备USART串口通信,大家根据端口来查询木板打印出的信息内容,我这里应用USART3,分别是PD8与PD9。在右侧集成ic中寻找这两个管脚,配备成USART3_TX与USART3_RX。随后在最左的Connectivity中寻找USART3,设定为Asynchronous,右侧管脚变色,证实配备进行。
随后在System Core中开展配备,点一下CORTEX_M7,将CPU ICache与CPU DCache均设成Enabled。
将CPU ICache与CPU DCache也就能最终开展钟表的配备,在最上边挑选Clock Configuration,把HCLK配备为木板的较大钟表,F767较大适用216MHz。
钟表配备页面钟表配备完后,返回Pinout&Configuration菜单栏,在Additional Software中(便是大家刚查验network实体模型文档的地区)挑选PlatformSettings,COM Port挑选为大家刚配备的USART3。
至此配备结束,挑选Project Manager,开展编码导出来,必须留意的是Linker Settings中Minimum Heap Size要设成0x2000。最终点一下最上边GENERATE CODE。
将编码导出转化成编码后,挑选Open Project,若已安裝IAR,会全自动应用IAR开启。能够看见工程项目的文档构造如下图所示,里边涵盖了转化成好的可以在STM32上运作的实体模型文档和实体模型数据信息。
工程项目的文档构造编码烧录在集成ic里后,返回CubeMX中下面的图所显示部位,大家点一下Validate on target,在板上运作认证程序流程,实际效果如下图,可以工作中,证实实体模型取得成功布署在MCU中。
板上具体检测实际效果此次就是这样先跑一下官方网的方法,之后再分析一下,泡泡卡丁车自身的实体模型。
以后有时间会把它和Intel测算棒也有电脑显卡做一个比照,比照一下功能损耗、速率、适用实体模型的尺寸、实体模型布署难度系数水平等,看一下雾计算各种各样设施的好坏之处。
之后这一栏目还会继续出些有意思的实践活动新项目,热烈欢迎各位关心。
转截请关联创作者并标明来源,侵权行为必究。