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è)務(wù)代碼開發(fā),又能在目標(biāo)平臺上獲得極致優(yōu)化的性能,從而更簡單方便地開發(fā)端側(cè) AI 應(yīng)用程序。
在 RT-AK 支持下,僅需要一行命令,python aitools.py --model xxx.。.,即可將 AI 模型部署到 RT-Thread 系統(tǒng)中:
詳細(xì)的命令請查閱:[如何運行 aitools.py](# step1 運行 rt_ai_tools/aitools.py)
開源鏈接:https://github.com/RT-Thread/RT-AK
示例DEMO
以下項目為 RT-AK 的示例 Demo,基于 ART-PI 硬件平臺和 Mnist 數(shù)據(jù)集。
1. 準(zhǔn)備工作
Python 》= 3.7
準(zhǔn)備以下四份重要重要重要的材料:
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 擴展軟件包的一部分,能夠自動轉(zhuǎn)換預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。
X-CUBE-AI
下載界面
1.2 X-CUBE-AI 解壓
下載后的文件夾界面
其中:
stm32ai-windows-5.2.0.zip 是我們所需要,該文件夾里面存放的是 X-CUBE-AI 模型轉(zhuǎn)換軟件:stm32ai
STMxxx.pack 是 STM32Cube.AI 的靜態(tài)庫文件,無需解壓,已經(jīng)存在。
解壓 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
如果在開發(fā)板的地方,沒有找到 STM32H750-RT-ART-PI,請查閱:
RT-Thread Studio 新建 ART-PI
2. 執(zhí)行步驟
Step1 運行 rt_ai_tools/aitools.py
代碼將會自動使用 STM32Cube.AI 的模型轉(zhuǎn)換工具,獲得一個集成了 AI 的 BSP
對,就是這么硬核,一步肝到位!
內(nèi)部的流程請看源碼或者 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
運行到該步驟操作已經(jīng)結(jié)束,后續(xù)是補充說明。
運行命令其他參數(shù)補充說明
1# 指定轉(zhuǎn)換模型的名稱,--model_name 默認(rèn)為 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 線程過程中產(chǎn)生的文件,--clear 默認(rèn)為空
5# 如果存在,則將會刪除 `stm32ai` 運行時產(chǎn)生的工作文件夾,即`--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 默認(rèn)為空
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 默認(rèn)是當(dāng)天時間,比如 ‘。/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 默認(rèn)是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ù)詳細(xì)說明
主函數(shù)參數(shù)部分
STM32 平臺插件參數(shù)部分
Step2 編譯和燒錄
本教程僅展示 RT-Thread Studio 編譯,另外還支持以下幾種編譯方式:
基于 RT-Thread Env 的 Scons
不基于 RT-Thread Env 的Scons
RT-Thread Studio 編譯和燒錄
在 RT-Thread Studio 中,找到項目工程,右鍵,
更新軟件包 + 刷新工程,
然后編譯(),
最后燒錄加顯示。
編譯成功
這時候你就已經(jīng)成功獲得了一個集成了 AI 和 RT-Thread 的新的 ART-Pi BSP,
就可以RT-Thread 系統(tǒng)上做應(yīng)用開發(fā)啦。
示例應(yīng)用代碼提供
我們提供了一份運行模型推理的示例代碼 mnist_app.c:
下載解壓,放置到 /applications 路徑下
選中 RT-Thread Studio 中的 項目工程,右擊刷新
編譯燒錄,
輸入命令:mnsit_app
3. 完整的示例工程
編輯:lyn
-
AI
+關(guān)注
關(guān)注
87文章
31425瀏覽量
269818 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1304瀏覽量
40296
原文標(biāo)題:RT-Thread AI kit開源:輕松實現(xiàn)一鍵部署AI模型至 RT-Thread
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論