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