咨询热线:400-0379-440
联系方式
联系人:秦女士
热   线:400-0379-440
手   机:15225555522
邮 箱:xiaguangyoule@126.com
邮 编:471000
地 址:河南省洛阳市龙城区春都路53号

飞机军模如何将AI模型部署到嵌入式系统中

发表时间:2020/10/7  浏览次数:811  
字体大小: 【小】 【中】 【大】

  本期我们分享主题是如何将 AI 模型部署到嵌入式系统中,下一期将介绍如何在 RT-Thread 操作系统上运行 Mnist Demo(手写数字识别)。

  AI落地一直是一个很红火的前景和朝阳行业。我的好奇心也比较旺盛,所以关于任何嵌入式和 AI 相关的都是想尝一尝。本系列文章将带你一步一步把 AI 模型部署在嵌入式平台,移植到 RT-Thread 操作系统上,实现你从菜鸟到起飞的第一步甚至第 n 步!

  STM32CubeMX 是 ST 公司推出的一种自动创建单片机工程及初始化代码的工具,适用于旗下所有 STM32 系列产品,现在其 AI 组件可以提供 AI 模型到嵌入式 C 代码的转换功能。

  我是用的操作系统是 Ubuntu 18.04。本次实验要用到如下开发工具,软件的安装过程很简单,网上都有很成熟的教程,在此不再赘述。该篇教程同样适用于 Windows 环境,飞机军模实验步骤完全相同。

  安装好之后,在终端执行安装包路径下的bin文件夹下的执行文件,会报错误:找不到或无法加载主类 “com.st.app.Main”,这时候只要将 Ubuntu 默认的 Open-JDK 换成 Oracle JDK 就好了,下面是切换成 Oracle JDK 成功的截图:

  其中,在模型搭建的时候,重新温习了一下,有三种方式(各个方式的优缺点已经放在参考文章当中,感兴趣的同学自行查阅):

  后面将 AI 模型导入到 CubeMx 的过程中,如果使用后两种方式生成的网络模型,将会遇到如下报错:

  将 AI 模型烧录到开发板前,需要先分析 Model,检查其是否可以被正常转换为嵌入式工程,飞机军模本次实验使用的模型比较简单,飞机军模分析起来也也比较快,结果如下所示:

  接下来我们要在开发板上验证转换后的嵌入式工程,飞机军模在这个过程中 CubeMX AI 工具会根据你导入的 AI 模型,自动生成嵌入式工程,并且将编译后的可执行文件烧录到开发板中,并通过 STlink 的虚拟串口验证运行的结果。我的系统是 Ubuntu,不支持 MDK,所以在这里选择自动生成 STM32CubeIDE 工程。

  上一步我们只是进行了项目结果的验证,但是并没有生成项目源代码,接下来我们将生成项目工程,飞机军模如下图所示:

  在编译的过程中还会自动生成相应的 bin 文件,后续可以通过 stm32cubeProgramer 工具将 bin 文件烧录到开发板中。

  在 ubuntu 系统中我们可以使用串口工具cutecom 来查看最终程序的运行结果,程序运行结果如下:

  在使用 cutecom 连接串口前,飞机军模记得断开 STM32Programer 和开发板的连接,否则会出现串口打开错误的情况。

文章评论
发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态: 未登录,点击登录

25年坚守,我们一直在努力!版权所有:洛阳市霞光游乐设备有限公司

豫ICP备15010466号-9