RKNN(Rockchip Neural Network)是一種用于嵌入式設備的深度學習推理框架,它提供了一個端到端的解決方案,用于將訓練好的深度學習模型轉換為在嵌入式設備上運行的可執行文件。
使用RKNN框架可以在嵌入式設備上高效地運行深度學習模型,這對于需要在資源受限的設備上進行實時推理的應用場景非常有用。例如,可以將RKNN用于智能攝像頭、機器人、無人機等嵌入式設備中,實現物體檢測、人臉識別、圖像分類等人工智能功能。
RKNN-Toolkit2是為用戶提供在 PC、 Rockchip NPU 平臺上進行模型轉換、推理和性能評估的開發套件,用戶通過該工具提供的 Python 接口可以便捷地完成模型轉換、量化功能、模型推理、性能和內存評估以及量化精度分析等多種操作。
下面,我們就使用RKNN-Toolkit2工具將rknpu2工程中的yolov5s.onnx模型轉換為yolov5s.rknn模型為例進行講解。
開發工具:飛凌嵌入式OK3588-C開發板
開發環境:Ubuntu20.04
01
下載RKNN-Toolkit2
02
安裝依賴
requirements_cp36-1.3.0.txt文件,在rknn-toolkit2/doc目錄下:
03
開發環境與OK3588-C開發板連接
開發環境中安裝adb
使用USB-typeC線連接到板子的TypeC0接口,PC端識別到虛擬機中。
在開發環境中檢查是否連接成功
如果連接成功會返回板子的設備ID,如下:
04
下載NPU工程
05
將rknn_server和rknn庫發送到開發板
06
模型轉換
在開發環境中進入到rknn_toolkit2工具中的examples目錄中選擇一個模型。本例選擇的是將onnx模型轉換為RKNN模型。
修改test.py
在rknn.config中添加target_platform='rk3588'
在rknn.init_runtime中添加target='rk3588'
修改完成后,運行test.py
運行成功結果如下:
同時在目錄下會生成yolov5s.rknn模型。
07
編譯測試源碼
進入到rknpu2/examples/rknn_yolov5_demo目錄下,設置環境變量:
執行編譯腳本,進行編譯:
然后在rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux目錄下會生成rknn_yolov5_demo
08
測試
將上邊生成的yolov5s.rknn模型和install目錄下的rknn_yolov5_demo_Linux拷貝到開發板中
使用rknn模型進行物體識別命令如下:
執行結果如下:
將生成的out.jpg拷貝到本地電腦中查看。
-
機器人
+關注
關注
211文章
28618瀏覽量
207912 -
嵌入式系統
+關注
關注
41文章
3614瀏覽量
129635 -
python
+關注
關注
56文章
4806瀏覽量
84933 -
NPU
+關注
關注
2文章
288瀏覽量
18692 -
RK3588
+關注
關注
7文章
341瀏覽量
4459
發布評論請先 登錄
相關推薦
評論