下載 rknpu2 并拷貝到虛擬機(jī) Ubuntu,RKNPU2 提供了訪問(wèn) rk3588 芯片 NPU的高級(jí)接口。
下載地址為“iTOP-3588 開(kāi)發(fā)板\02_【iTOP-RK3588 開(kāi)發(fā)板】開(kāi)發(fā)資料\12_NPU 使用配套資料\01_rknpu2 工具” 對(duì)于 RK3588 來(lái)說(shuō),Linux 平臺(tái) RKNN SDK 庫(kù)文件為 librknnrt.so, RK3588 平臺(tái) RKNN SDK 包含了 API 使用示例程序、NPU 運(yùn)行庫(kù)、服務(wù)程序、文檔。


服務(wù)程序稱(chēng)為 rknn_server,是在開(kāi)發(fā)板上常駐的服務(wù)進(jìn)程,用于連板推理。在 RKNN SDK 中提供了 Linux 平臺(tái)的 MobileNet 圖像分類(lèi)、SSD 目標(biāo)檢測(cè)、YOLOv5 目標(biāo)檢測(cè)示例。這些Demo 能夠?yàn)榭蛻艋?RKNN SDK 開(kāi)發(fā)自己的 AI 應(yīng)用提供參考。
在 rknpu2/examples 中還有很多其他例子,下面以 rknpu2/examples 下的 rknn_yolov5_demo 在 RK3588 Linux 64 位平臺(tái)(buildroot 系統(tǒng))上運(yùn)行為例,來(lái)講解如何快速上手運(yùn)行。整體思路分為三步:
1 在虛擬機(jī)Ubuntu20.04上交叉編譯 demo程序 rknn_yolov5_demo(demo已經(jīng)默認(rèn)是rknn, 無(wú)需進(jìn)行模型轉(zhuǎn)換)
2 部署到 iTOP-RK3588 開(kāi)發(fā)板
3 在開(kāi)發(fā)板上運(yùn)行 demo
設(shè)置交叉編譯器
1 安裝 gcc 交叉編譯器,編譯器下載地址是網(wǎng)盤(pán)資料“iTOP-3588 開(kāi)發(fā)板\02_【
iTOP-RK3588 開(kāi)發(fā)板】開(kāi)發(fā)資料\12_NPU 使用配套資料\03_編譯所需工具\(yùn)Linux”。
拷貝 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz 到 Ubuntu 的/opt/tool_chain 目錄下,這里拷貝的路徑要和作者保持一致,后面要用到交叉編譯器的絕對(duì)路徑。
2 解壓交叉編譯器壓縮包
tar -vxf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz 解壓完成后備用!
修改編譯工具路徑
1 因?yàn)榇苏鹿?jié)以 rknn_yolov5_demo 在 RK3588 Linux 64 位平臺(tái)上運(yùn)行為例,所以修改
examples/rknn_yolov5_demo/build-XXX.sh 的編譯工具路徑,
2 修改 build-linux_RK3588.sh 文件,將 TOOL_CHAIN 修改為
gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu 的解壓路徑并保存修改文件,
TOOL_CHAIN=/opt/tool_chain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu
GCC_COMPILER=$TOOL_CHAIN/bin/aarch64-none-linux-gnu
更新 RKNN 模型
RKNN 是 Rockchip NPU 平臺(tái)(也就是開(kāi)發(fā)板)使用的模型類(lèi)型,是以.rknn 結(jié)尾的模型文件。
RKNN SDK 提 供 的 demo 程 序 中 默 認(rèn) 自 帶 了 RKNN 模 型 , 在 RKNN SDK 的
examples/rknn_yolov5_demo/model/RK3588/目錄下,
如使用自己的模型需要轉(zhuǎn)換成 rknn 模型,轉(zhuǎn)換方法可以參考第 5 章節(jié)。
在得到 RKNN 模型之后,demo 程序使用 C 接口在 RK3588 平臺(tái)開(kāi)發(fā)應(yīng)用,
3.1.4 編譯 demo
1 在終端命令窗口進(jìn)入 rknn_yolov5_demo 文件夾,輸入以下命令:
cd examples/rknn_yolov5_demo/
2 運(yùn)行 build-linux_RK3588.sh 腳本編譯程序
./build-linux_RK3588.sh
3 編譯完成之后,編譯好的程序一般放在 install 目錄
4 網(wǎng) 盤(pán) 中 也 提 供 了 編 譯 好 的 Demo , 可 以 在 網(wǎng) 盤(pán) 資 料 資 料 “iTOP-3588 開(kāi) 發(fā) 板 \02_ 【iTOP-RK3588 開(kāi)發(fā)板】開(kāi)發(fā)資料\12_NPU 使用配套資料\02_NPU demo\Linux”下載。
開(kāi)發(fā)板運(yùn)行 demo
1 通過(guò) U 盤(pán)拷貝 RKNPU2 工具中的 runtime/RK3588/Linux/librknn_api/aarch64/目錄下的文件到開(kāi)發(fā)板的/usr/lib 目錄下。
2 把編譯好的程序 rknn_yolov5_demo_Linux 通過(guò) U 盤(pán)拷貝到開(kāi)發(fā)板的根目錄上,開(kāi)發(fā)板上要 燒寫(xiě) linux 系統(tǒng)(buildroot)。
3 設(shè)置庫(kù)文件的路徑,輸入以下命令:
export LD_LIBRARY_PATH=./lib
4 進(jìn)入程序所在的目錄,輸入以下命令:
cd /rknn_yolov5_demo_Linux
5 運(yùn)行程序來(lái)識(shí)別相應(yīng)的圖片中物體,輸入以下命令:
./rknn_yolov5_demo ./model/RK3588/yolov5s-640-640.rknn ./model/bus.jpg
6 運(yùn)行完生成結(jié)果圖片 out.jpg,
7 拷貝生成的 out.jpg 到 U 盤(pán)中,
8 在 windows 下查看 out.jpg,
-
芯片
+關(guān)注
關(guān)注
459文章
52184瀏覽量
436208 -
Linux
+關(guān)注
關(guān)注
87文章
11460瀏覽量
212794 -
NPU
+關(guān)注
關(guān)注
2文章
320瀏覽量
19515 -
RK3568
+關(guān)注
關(guān)注
5文章
579瀏覽量
6091
發(fā)布評(píng)論請(qǐng)先 登錄
迅為RK3588開(kāi)發(fā)板實(shí)時(shí)系統(tǒng)編譯-Preemption系統(tǒng)/ Xenomai系統(tǒng)編譯-獲取Linux源碼包
RK3588 技術(shù)分享 | 在Android系統(tǒng)中使用NPU實(shí)現(xiàn)Yolov5分類(lèi)檢測(cè)
迅為瑞芯微RK3588開(kāi)發(fā)板深度剖析丨首選的性能
探索巔峰性能 |迅為瑞芯微RK3588開(kāi)發(fā)板/核心板深度剖析
迅為瑞芯微RK3588與3588S如何選型硬件區(qū)別
迅為RK3588開(kāi)發(fā)板深度剖析丨首選的性能
RK3588 技術(shù)分享 | 在Android系統(tǒng)中使用NPU實(shí)現(xiàn)Yolov5分類(lèi)檢測(cè)-迅為電子

評(píng)論