0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于RT-AK開源輕松實現(xiàn)一鍵部署AI模型至RT-Thread解析

RTThread物聯(lián)網操作系統(tǒng) ? 來源:RTThread物聯(lián)網操作系統(tǒng) ? 作者:RTThread物聯(lián)網操作 ? 2021-04-26 18:07 ? 次閱讀

RT-AK 簡介

RT-AK: RT-Thread AI kit,RT-Thread AI 套件

RT-AK 是 RT-Thread 團隊為 RT-Thread 實時操作系統(tǒng)所開發(fā)的 AI 套件,能夠一鍵將 AI 模型部署到 RT-Thread 項目中,讓用戶可以 在統(tǒng)一的 API 之上進行業(yè)務代碼開發(fā),又能在目標平臺上獲得極致優(yōu)化的性能,從而更簡單方便地開發(fā)端側 AI 應用程序。

在 RT-AK 支持下,僅需要一行命令,python aitools.py --model xxx.。.,即可將 AI 模型部署到 RT-Thread 系統(tǒng)中:

詳細的命令請查閱:[如何運行 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 數(shù)據(jù)集。

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 生態(tài)系統(tǒng)的 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 的靜態(tài)庫文件,無需解壓,已經存在。

解壓 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

如果在開發(fā)板的地方,沒有找到 STM32H750-RT-ART-PI,請查閱:

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

RT-Thread Studio 新建 ART-PI

2. 執(zhí)行步驟

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

運行到該步驟操作已經結束,后續(xù)是補充說明。

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

運行命令其他參數(shù)補充說明

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》

運行參數(shù)詳細說明

主函數(shù)參數(shù)部分

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

STM32 平臺插件參數(shù)部分

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 系統(tǒng)上做應用開發(fā)啦。

示例應用代碼提供

我們提供了一份運行模型推理的示例代碼 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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關注

    關注

    87

    文章

    31493

    瀏覽量

    270049
  • RT-Thread
    +關注

    關注

    31

    文章

    1305

    瀏覽量

    40331

原文標題:RT-Thread AI kit開源:輕松實現(xiàn)一鍵部署AI模型至 RT-Thread

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網操作系統(tǒng)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    開源中來到開源中去-RT-Thread北京社區(qū)篇

    RT-Thread今年全域推行不同區(qū)域社區(qū)網,通過建立區(qū)域社區(qū)網,構建更加緊密聯(lián)系的開源社區(qū),實現(xiàn)更廣泛的開源資源共享,讓更多的RT-Thread
    的頭像 發(fā)表于 11-29 01:05 ?231次閱讀
    從<b class='flag-5'>開源</b>中來到<b class='flag-5'>開源</b>中去-<b class='flag-5'>RT-Thread</b>北京社區(qū)篇

    開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會報名啟動!

    開發(fā)者大會將以“開源共生,商業(yè)共贏”為主題,將于2024年12月21日全天在上海臨港中心舉行。開源RT-Thread如何實現(xiàn)商業(yè)化?這直是
    的頭像 發(fā)表于 10-29 08:06 ?481次閱讀
    <b class='flag-5'>開源</b>共生 商業(yè)共贏 | <b class='flag-5'>RT-Thread</b> 2024開發(fā)者大會報名啟動!

    混合部署 | 在RK3568上同時部署RT-Thread和Linux系統(tǒng)-迅為電子

    混合部署 | 在RK3568上同時部署RT-Thread和Linux系統(tǒng)-迅為電子
    的頭像 發(fā)表于 09-06 15:32 ?482次閱讀
    混合<b class='flag-5'>部署</b> | 在RK3568上同時<b class='flag-5'>部署</b><b class='flag-5'>RT-Thread</b>和Linux系統(tǒng)-迅為電子

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統(tǒng)開源項目在GitHub上的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實時操作系統(tǒng)在業(yè)界Star數(shù)量排名第!倉庫地址:https://gith
    的頭像 發(fā)表于 07-04 08:35 ?512次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    杭州站RT-Thread混合部署Workshop圓滿落幕!

    2024年6月6日,杭州順利舉辦了RT-Thread混合部署線下Workshop,活動圓滿的結束。這次Workshop由睿賽德科技團隊精心策劃并成功執(zhí)行,吸引了大量嵌入式系統(tǒng)開發(fā)者和技術愛好者的熱情
    的頭像 發(fā)表于 06-08 08:35 ?500次閱讀
    杭州站<b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>Workshop圓滿落幕!

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 05-28 08:35 ?475次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>新模式!

    RT-Thread西安社區(qū)舉辦首次例會,誠邀每位開發(fā)者參與!

    為了更好的服務和鏈接全國各地的RT-Thread嵌入式開發(fā)者,RT-Thread今年將全域推行不同區(qū)域社區(qū)網,通過建立區(qū)域社區(qū)網,我們期待構建更加緊密聯(lián)系的開源社區(qū),實現(xiàn)更廣泛的
    的頭像 發(fā)表于 05-17 15:07 ?365次閱讀
    <b class='flag-5'>RT-Thread</b>西安社區(qū)舉辦首次例會,誠邀每<b class='flag-5'>一</b>位開發(fā)者參與!

    5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    5月16日下午我們將在南京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 05-01 08:35 ?408次閱讀
    5月16日南京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>新模式!

    RT-Thread混合部署Workshop北京站來啦!

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 04-19 08:34 ?469次閱讀
    <b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>Workshop北京站來啦!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 04-16 08:35 ?454次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>新模式

    【4月10日-深圳-workshop】RT-Thread帶你探索混合部署新模式

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 04-04 08:34 ?376次閱讀
    【4月10日-深圳-workshop】<b class='flag-5'>RT-Thread</b>帶你探索混合<b class='flag-5'>部署</b>新模式

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 03-27 11:36 ?871次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 03-27 08:34 ?562次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>新模式!

    RT-Thread混合部署Workshop在上海張江成功舉行

    3月21號我們在上海張江舉辦的RT-Thread混合部署線下workshop圓滿落幕。本次活動由睿賽德科技團隊主辦,旨在為參與者提供全面的技術分享和實操經驗?,F(xiàn)場邀請到了RT-Thread資深嵌入式
    的頭像 發(fā)表于 03-23 08:34 ?384次閱讀
    <b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>Workshop在上海張江成功舉行

    就在本周四!探索RT-Thread混合部署新模式!

    3月21日(本周四)我們將在上海張江舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上的實現(xiàn)同時運行RT-Thread和linux,本次培訓邀請到
    的頭像 發(fā)表于 03-20 08:34 ?600次閱讀
    就在本周四!探索<b class='flag-5'>RT-Thread</b>混合<b class='flag-5'>部署</b>新模式!