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 的示例 Demo,基于 ART-PI 硬件平臺和 Mnist 數據集。
1. 準備工作
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 編譯,另外還支持以下幾種編譯方式:
基于 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. 完整的示例工程
編輯:lyn
-
AI
+關注
關注
87文章
30763瀏覽量
268907 -
RT-Thread
+關注
關注
31文章
1285瀏覽量
40094
原文標題:RT-Thread AI kit開源:輕松實現一鍵部署AI模型至 RT-Thread
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論