电子技术应用|技术阅读
登录|注册

您现在的位置是:电子技术应用 > 技术阅读 > RT-Thread AI kit轻松部署 STM32Cube-AI 至 RT-Thread

RT-Thread AI kit轻松部署 STM32Cube-AI 至 RT-Thread

RT-AK 简介

RT-AKRT-Thread AI kitRT-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 介绍

  • 下载地址:

    https://www.st.com/zh/embedded-software/x-cube-ai.html

  • 版本:V5.2.0

(以上链接请复制至外部浏览器打开)

TO DO LIST: 最新的版本是 V6.0.0,目前使用的是 V5.2.0,稍后的 RT-AK 将会更新

X-CUBE-AISTM32Cube.AI 生态系统的 STM32Cube 扩展软件包的一部分,能够自动转换预训练的神经网络。

X-CUBE-AI

下载界面

1.2 X-CUBE-AI 解压

下载后的文件夹界面

其中:

  • stm32ai-windows-5.2.0.zip 是我们所需要,该文件夹里面存放的是 X-CUBE-AI 模型转换软件:stm32ai

  • STMxxx.packSTM32Cube.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,请查阅:

    https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi/blob/master/documents/UM5002-RT-Thread%20ART-Pi%20%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C.md

    (以上链接请复制至外部浏览器打开)

    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-ThreadStudio\workspace\test" --model="./Models/keras_mnist.h5" --platform=stm32 --ext_tools="D:\Program Files (x86)\stm32ai-windows-5.2.0\windows" --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 EnvScons

    • 不基于 RT-Thread EnvScons

    RT-Thread Studio 编译和烧录

    RT-Thread Studio 中,找到项目工程,右键,

    更新软件包 + 刷新工程,

    然后编译(????),

    最后烧录加显示。

    编译成功

    这时候你就已经成功获得了一个集成了 AIRT-Thread 的新的 ART-Pi BSP

    就可以RT-Thread 系统上做应用开发啦。

    示例应用代码提供

    我们提供了一份运行模型推理的示例代码 mnist_app.c:

    http://117.143.63.254:9012/www/RT-AK/mnist_app.zip(以上链接请复制至外部浏览器打开)

  • 下载解压,放置到 /applications 路径下




  • 选中 RT-Thread Studio 中的 项目工程,右击刷新



  • 编译烧录,

  • 输入命令:mnsit_app

  • 3. 完整的示例工程

    完整的示例工程仓库地址:下载即可食用

    https://github.com/EdgeAIWithRTT/Project3-Mnist_Cube_RTT/tree/master/Mnist_RTT

    (以上链接请复制至外部浏览器打开)


    #体验打卡#


    欢迎大家在体验RT-AK后截图留念,并将运行成功的截图发送至QQ/微信群艾特管理员,我们将从中抽取3名幸运小伙伴送出柿饼派、RT-Thread定制高端运动旅行背包、RT-Thread定制茶具礼盒一份!





    RT-AK QQ交流群

    807401653


    ???? 扫码进群 ????


    ------------ END ------------


    推荐阅读:


    欢迎关注我的公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
    欢迎关注我的视频号:


    点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。