0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

RTThread物联网操作系统 来源:RTThread物联网操作系统 作者:RTThread物联网操作 2021-04-26 18:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

88fbefe4-a4b0-11eb-aece-12bb97331649.png

下载界面

1.2 X-CUBE-AI 解压

893b74d4-a4b0-11eb-aece-12bb97331649.png

下载后的文件夹界面

其中:

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 文件夹。

记下该路径,重要重要重要

896b21fc-a4b0-11eb-aece-12bb97331649.png

STM32: X-CUBE-AI 解压路径

1.3 ART-PI BSP

先打开 RT-Thread Studio

新建 ART-PI BSP

如果在开发板的地方,没有找到 STM32H750-RT-ART-PI,请查阅:

897a003c-a4b0-11eb-aece-12bb97331649.png

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。

89913680-a4b0-11eb-aece-12bb97331649.png

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

运行到该步骤操作已经结束,后续是补充说明。

899b3356-a4b0-11eb-aece-12bb97331649.png

运行命令其他参数补充说明

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》

运行参数详细说明

主函数参数部分

89a5107e-a4b0-11eb-aece-12bb97331649.png

STM32 平台插件参数部分

89b0b1cc-a4b0-11eb-aece-12bb97331649.png

Step2 编译和烧录

本教程仅展示 RT-Thread Studio 编译,另外还支持以下几种编译方式:

Keil

基于 RT-Thread Env 的 Scons

不基于 RT-Thread Env 的Scons

RT-Thread Studio 编译和烧录

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

更新软件包 + 刷新工程,

然后编译(),

最后烧录加显示。

89c46dc0-a4b0-11eb-aece-12bb97331649.png

8a366f88-a4b0-11eb-aece-12bb97331649.png

编译成功

8a465506-a4b0-11eb-aece-12bb97331649.png

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

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

示例应用代码提供

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

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

8a786d66-a4b0-11eb-aece-12bb97331649.png

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

8a89604e-a4b0-11eb-aece-12bb97331649.png

编译烧录,

输入命令:mnsit_app

8ac2bdee-a4b0-11eb-aece-12bb97331649.png

3. 完整的示例工程
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    89

    文章

    38090

    浏览量

    296514
  • RT-Thread
    +关注

    关注

    32

    文章

    1540

    浏览量

    44274

原文标题:RT-Thread AI kit开源:轻松实现一键部署AI模型至 RT-Thread

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    首搭RT-Thread程翧车控平台| RT-Thread程翧 S32K344 快速原型开发平台正式上市!| 产品动态

    在智能汽车迈向高集成与高安全的时代,VCU/ECU开发正面临效率与可靠性的双重考验。依赖单硬件或拼凑软件方案的传统模式,已成为制约创新的瓶颈。为此,RT-Thread带来里程碑式的解决方案
    的头像 发表于 10-31 11:53 483次阅读
    首搭<b class='flag-5'>RT-Thread</b>程翧车控平台| <b class='flag-5'>RT-Thread</b>程翧 S32K344 快速原型开发平台正式上市!| 产品动态

    rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?

    rt-thread studio2.2.9如何使用最新的RT-Thread v5.2.0 released? 原先以为修改index_all.json,发现联网的时候,会自动覆盖 另lastet版本
    发表于 09-16 06:06

    【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结

    01内容简介ContentSummary本书为读者提供了个全面、系统的RT-Thread学习指南,旨在帮助初学者及有经验的开发者掌握RT-Thread实时操作系统和STM32嵌入式微控制器的核心
    的头像 发表于 08-24 10:05 685次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>第20本相关书籍!《嵌入式实时操作系统<b class='flag-5'>RT-Thread</b>原理与应用》| 技术集结

    开源+AI”赋能万物智联:RT-Thread睿赛德亮相“上海硅巷”畅谈国产操作系统 | 新闻速递

    企业共同探讨如何通过开源理念推动跨领域协作和创新。活动当天,RT-Thread睿赛德AI负责人叶昌博士发表以《开源+AI:让千亿级边端插上智
    的头像 发表于 07-22 19:50 1487次阅读
    “<b class='flag-5'>开源</b>+<b class='flag-5'>AI</b>”赋能万物智联:<b class='flag-5'>RT-Thread</b>睿赛德亮相“上海硅巷”畅谈国产操作系统 | 新闻速递

    【直播预告】RT-Thread携手NXP硬核实战,解锁MCX微控制器的AI落地秘籍 | 问学直播

    ,从“生态布局”到“电机实战”到“AI应用”,预约直播,和我们起打开嵌入式开发新视界。Details直播详情直播主题RT-Thread携手NXP硬核实战解锁MC
    的头像 发表于 07-20 10:05 884次阅读
    【直播预告】<b class='flag-5'>RT-Thread</b>携手NXP硬核实战,解锁MCX微控制器的<b class='flag-5'>AI</b>落地秘籍 | 问学直播

    用SPI玩转WiFi,RT-Thread ESP-Hosted驱动深度适配指南 | 技术集结

    还在为MCU的WiFi连接方案发愁?RT-Thread社区开源ESP-Hosted驱动,通过标准SPI接口即可实现,并且该仓库已整理成RT-Thread软件包。
    的头像 发表于 07-09 19:03 1116次阅读
    用SPI玩转WiFi,<b class='flag-5'>RT-Thread</b> ESP-Hosted驱动深度适配指南 | 技术集结

    RT-Thread荣获2025优秀开源项目 | 新闻速递

    贡献,荣获年度“优秀开源项目奖”。RT-Thread睿赛德荣获2025优秀开源项目奖目前,开源已从软件领域延展硬件、数据、算法、标准、内容
    的头像 发表于 07-04 09:04 2423次阅读
    <b class='flag-5'>RT-Thread</b>荣获2025优秀<b class='flag-5'>开源</b>项目 | 新闻速递

    揭秘RT-Thread上的AUTOSAR CP系统

    标准,同时保留RT-Thread的POSIX支持与可裁剪性,实现了通信隔离、诊断模块集成等关键技术突破,为车载系统提供高安全、可扩展的解决方案。车载电子系统与传统
    的头像 发表于 06-23 20:22 2939次阅读
    揭秘<b class='flag-5'>RT-Thread</b>上的AUTOSAR CP系统

    玄铁加入RT-Thread 高级会员合作伙伴 | 战略新篇

    今天起,玄铁XuanTie正式成为RT-Thread高级会员合作伙伴。此次合作标志着双方将在嵌入式操作系统创新、RISC-V生态构建及行业应用落地等领域展开深度协同,加速推动开源技术的产业化进程
    的头像 发表于 06-23 20:22 869次阅读
    玄铁加入<b class='flag-5'>RT-Thread</b> 高级会员合作伙伴 | 战略新篇

    2025 RT-Thread全球技术大会议程正式发布!

    。2024RT-Thread全球技术大会,由开源操作系统RT-Thread发起,并联合国内外领先企业的重磅嘉宾,携手国内外顶尖企业专家与超3万名线上参与者,共议边缘计算、嵌入式
    的头像 发表于 05-27 19:28 1070次阅读
    2025 <b class='flag-5'>RT-Thread</b>全球技术大会议程正式发布!

    RT-Thread 上如何实现 SLAAC?

    大佬们,本菜鸟有些网络上的问题需要帮助: RT-Thread 上如何实现 SLAAC(无状态地址自动分配),给连接到我的板子的设备分配 IPv6 地址; RT-Thread 如何发
    发表于 05-27 07:21

    RT-Thread审核团招募: 深度参与开源RTOS社区治理与演进

    全球开发者招募:RT-Thread审核团(ReviewTeam)正式开放申请!在开源的世界里,代码审查(CodeReview)是保证软件质量、促进技术交流的关键环节。RT-Thread作为全球领先
    的头像 发表于 05-21 18:02 1065次阅读
    <b class='flag-5'>RT-Thread</b>审核团招募: 深度参与<b class='flag-5'>开源</b>RTOS社区治理与演进

    如何将RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默认支持的IDE只有IAR 和 Keil, 那如何将RT-Thread移植到NXP MCUXPressoIDE上呢?本文内容比较简单但稍有琐碎,希望对有需要的小伙伴有所帮助。
    的头像 发表于 02-13 10:37 2434次阅读
    如何将<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE上

    Deepseek上单片机?RT-Thread上跑通大语言模型

    前言单片机也能聊天?RT-Thread上跑通大语言模型RT-Thread论坛上忽然看到了单片机和大模型对话的文章,想着春节期间看到大语言模型
    的头像 发表于 02-07 18:59 2365次阅读
    Deepseek上单片机?<b class='flag-5'>RT-Thread</b>上跑通大语言<b class='flag-5'>模型</b>

    RT-Smart首次线下培训,锁定2024 RT-Thread开发者大会!

    2024年RT-Thread开发者大会将于12月21日正式拉开帷幕!本次大会以“开源共生商业共赢”为主题,RT-Thread将携手合作伙伴、客户伙伴、行业专家,以及全球开发者,共同探索如何在
    的头像 发表于 12-11 18:41 2940次阅读
    <b class='flag-5'>RT</b>-Smart首次线下培训,锁定2024 <b class='flag-5'>RT-Thread</b>开发者大会!