关于RT-AK开源轻松实现一键部署AI模型至RT-Thread解析

rt-ak 简介
rt-ak: rt-thread ai kit,rt-thread ai 套件
rt-ak 是 rt-thread 团队为 rt-thread 实时操作系统所开发的 ai 套件,能够一键将 ai 模型部署到 rt-thread 项目中,让用户可以 在统一的 api 之上进行业务代码开发,又能在目标平台上获得极致优化的性能,从而更简单方便地开发端侧 ai 应用程序。
在 rt-ak 支持下,仅需要一行命令,python aitools.py --model xxx.。.,即可将 ai 模型部署到 rt-thread 系统中:
详细的命令请查阅:[如何运行 aitools.py](# step1 运行 rt_ai_tools/aitools.py)
开源链接:https://github.com/rt-thread/rt-ak
示例demo
本教程 rt-ak 适配目标平台:stm32
以下项目为 rt-ak 的示例 demo,基于 art-pi 硬件平台和 mnist 数据集。
1. 准备工作
windows 10
python 》= 3.7
准备以下四份重要重要重要的材料:
1.1 x-cube-ai 介绍
to do list: 最新的版本是 v6.0.0,目前使用的是 v5.2.0,稍后的 rt-ak 将会更新
x-cube-ai 是 stm32cube.ai 生态系统的 stm32cube 扩展软件包的一部分,能够自动转换预训练的神经网络。
x-cube-ai
下载界面
1.2 x-cube-ai 解压
下载后的文件夹界面
其中:
stm32ai-windows-5.2.0.zip 是我们所需要,该文件夹里面存放的是 x-cube-ai 模型转换软件:stm32ai
stmxxx.pack 是 stm32cube.ai 的静态库文件,无需解压,已经存在。
解压 stm32ai-windows-5.2.0.zip 。
例:在这里我将其解压到:d:program files (x86)stm32ai-windows-5.2.0 ,可以在该路径下看见有一个 windows 文件夹。
记下该路径,重要重要重要
stm32: x-cube-ai 解压路径
1.3 art-pi bsp
先打开 rt-thread studio
新建 art-pi bsp
如果在开发板的地方,没有找到 stm32h750-rt-art-pi,请查阅:
rt-thread studio 新建 art-pi
2. 执行步骤
step1 运行 rt_ai_tools/aitools.py
代码将会自动使用 stm32cube.ai 的模型转换工具,获得一个集成了 ai 的 bsp
对,就是这么硬核,一步肝到位!
内部的流程请看源码或者 plugin_stm32 仓库下的 readme 文档
运行命令
进入 edge-ai/rtak/tools 路径,运行 aitools.py。
1# 运行命令
2python aitools.py --project=《your_project_path》 --model=《your_model_path》 --platform=stm32 --ext_tools=《your_x-cube-ai_path》 --clear
3
4# 示例
5python aitools.py --project=“d:rt-threadstudioworkspace est” --model=“。/models/keras_mnist.h5” --platform=stm32 --ext_tools=“d:program files (x86)stm32ai-windows-5.2.0windows” --clear
运行到该步骤操作已经结束,后续是补充说明。
运行命令其他参数补充说明
1# 指定转换模型的名称,--model_name 默认为 network
2python aitools.py --project=《your_project_path》 --model=《your_model_path》 --model_name=《model_name》 --platform=stm32 --ext_tools=《your_x-cube-ai_path》
3
4# 保存运行 stm32ai 线程过程中产生的文件,--clear 默认为空
5# 如果存在,则将会删除 `stm32ai` 运行时产生的工作文件夹,即`--stm_out`
6python aitools.py --project=《your_project_path》 --model=《your_model_path》 --platform=stm32 --ext_tools=《your_x-cube-ai_path》
7
8# 指定保存运行日志, --log 默认为空
9python aitools.py --project=《your_project_path》 --model=《your_model_path》 --log=。/log.log --platform=stm32 --ext_tools=《your_x-cube-ai_path》
10
11# 指定保存的文件夹名称,--stm_out 默认是当天时间,比如 ‘。/20210223’
12python aitools.py --project=《your_project_path》 --model=《your_model_path》 --platform=stm32 --ext_tools=《your_x-cube-ai_path》 --stm_out 《new_dir》
13
14# 指定生成的 c-model 名,--c_model_name 默认是network
15python aitools.py --project=《your_project_path》 --model=《your_model_path》 --platform=stm32 --ext_tools=《your_x-cube-ai_path》 --c_model_name=《new_model_name》
运行参数详细说明
主函数参数部分
stm32 平台插件参数部分
step2 编译和烧录
本教程仅展示 rt-thread studio 编译,另外还支持以下几种编译方式:
keil
基于 rt-thread env 的 scons
不基于 rt-thread env 的scons
rt-thread studio 编译和烧录
在 rt-thread studio 中,找到项目工程,右键,
更新软件包 + 刷新工程,
然后编译(),
最后烧录加显示。
编译成功
这时候你就已经成功获得了一个集成了 ai 和 rt-thread 的新的 art-pi bsp,
就可以rt-thread 系统上做应用开发啦。
示例应用代码提供
我们提供了一份运行模型推理的示例代码 mnist_app.c:
下载解压,放置到 /applications 路径下
选中 rt-thread studio 中的 项目工程,右击刷新
编译烧录,
输入命令:mnsit_app
3. 完整的示例工程


独立半导体设备制造商ITEC借助高生产率的芯片组装系统缓解半导体短缺问题
降低微型减速电机啮合噪音的方法
基于区块链完全去中心化的Mesh网络协议MTC介绍
喜报丨联诚发(LCF)荣获“广东知名品牌”
盘点2022财年日本主要自动化厂商业绩状况:基恩士表现亮眼!
关于RT-AK开源轻松实现一键部署AI模型至RT-Thread解析
Redis为何选择单线程
五个提高物联网设备安全性的工具
上海雷卯推出DFN1006超小体积网口保护ESD ULC0342P26LV
苹果系列配件促销活动将在这周结束,没尝到甜头的小伙伴们抓紧咯!
红米Pro2什么时候上市?红米Pro2最新消息:红米Pro2骁龙660+全面屏,雷军再一次颠覆行业!
计算机组成原理65分攻略
华为今年底或将推新平板:采用12.9英寸OLED屏
基于TMS37157的低频收发器MCU接口方案
国内碳化硅衬底生产企业盘点
2018手机CPU大起底:苹果A12很强,联发科P60很弱
Lantiq推出业界首款G.fast家庭网关参考设计
松下动力电池材料革新路径
用LED光在家种菜全过程图集
APS计划排产软件推动灯具照明行业生产精益化
s