伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【迅為RK3568開發(fā)板NPU實戰(zhàn)】別再閑置你的NPU!手把手教你玩轉RKNN-Toolkit2 的使用

北京迅為電子 ? 2025-11-11 14:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


實戰(zhàn)核心:RKNN-Toolkit2 的使用

硬件板卡:迅為iTOP-RK3568開發(fā)板

在使用RKNN SDK之前,用戶需要使用RKNN-Toolkit2工具將自主研發(fā)的 算法模型轉換為RKNN模型。RKNN是Rockchip NPU平臺(也就是開發(fā)板)使用的模型類型,是以.rknn結尾的模型文件。得到RKNN模型之后,用戶可以選擇使用C接口在RK3568平臺開發(fā)應用。

在第3章節(jié),我們是直接使用的已經(jīng)轉換好的模型rknn來進行的實驗。所以 這一章節(jié)我們來看下如何將其他模型類型轉成rknpu可以使用的rknn類型。

RKNN-Toolkit2 介紹

RKNN-Toolkit2是為用戶提供在PC、Rockchip NPU平臺上進行模型轉換、 推理和性能評估的開發(fā)套件,用戶通過該工具提供的Python接口可以便捷地完 成以下功能:

?模型轉換:支持Caffe、TensorFlowTensorFlow Lite、ONNX、DarkNet、

PyTorch等模型轉為RKNN模型,并支持RKNN模型導入導出,RKNN

模型能夠在rk3568開發(fā)板上加載使用

?量化功能:支持將浮點模型量化為定點模型,目前支持的量化方法為非對稱

量化( asymmetric_quantized-8及asymmetric_quantized-16 ),并支持混合量

化功能 。asymmetric_quantized-16目前版本暫不支持

?模型推理:能夠在PC上模擬rk3568開發(fā)板運行RKNN模型并獲取推理 結果;或將RKNN模型分發(fā)到iTOP-RK3568設備上進行推理并獲取推理結 果

?性能評估:將RKNN模型分發(fā)到iTOP-RK3568設備上運行,以評估模型在實際設備上運行時的性能

?內存評估:評估模型運行時的內存的占用情況。使用該功能時,必須將

RKNN模型分發(fā)到iTOP-RK3568設備中運行,并調用相關接口獲取內存使

用信息

?量化精度分析:該功能將給出模型量化前后每一層推理結果與浮點模型推理

結果的余弦距離,以便于分析量化誤差是如何出現(xiàn)的,為提高量化模型的精 度提供思路

5.3 RKNN-Toolkit2 的使用

在rknn-toolkit2工具的examples目錄下有各種功能的Toolkit Demo,這里 我們運行一個模型轉換Demo為例子,這個Demo展示了在Ubuntu18.04上將yolov5.onnx模型轉換成RKNN模型,然后導出、推理、部署到RK3568開發(fā)板上或者模擬器上運行并取回結果的過程。模型轉換的具體實現(xiàn)請參考Demo內源代碼。

5.3.1 模型運行在模擬器

RKNN-Toolkit2自帶了一個模擬器,在Ubuntu18.04上運行demo程序即是 在仿真NPU模擬器上運行demo。以下演示如何在模擬器上運行RKNN-Toolkit2

工具自帶的yolov5.onnx模型轉換demo。

作者是在docker下使用RKNN-Toolkit2工具,大家在使用之前要按照“5.2.1

章節(jié)通過docker鏡像安裝”RKNN-Toolkit2工具。演示過程如下:

1在5.2.1小節(jié)中,已經(jīng)成功安裝并進入了docker鏡像中,如下圖所示:

wKgZPGkS1WGABNfMAAIdM5Bh6Sw262.png

2在rknn-toolkit2/examples下有各種功能的Toolkit Demo,如下圖所示:

3運行一個模型轉換例子,進入到onnx/yolov5目錄,如下圖所示:

4轉換yolov5s.onnx為rknn模型并運行模型推理圖片,輸入以下命令:

python3 test.py

5運行模型如下圖所示:

wKgZO2kS1WKAF2qMAAfsaZO2GII266.png

由上圖結果可以看出,圖上有三個人和一個巴士,所在坐標與原圖相符,推

理圖片成功。原圖如下圖所示:

wKgZPGkS1WGAXsSPAARi94eB-us518.png

6轉換后的模型默認保存路徑為“examples/onnx/yolov5/yolov5s.rknn”,如下圖所

示:

wKgZO2kS1WGABk5VAAFNc0U5O4s999.png

5.3.2 模型運行在 RK3568 開發(fā)板

1首先連接好開發(fā)板硬件,連接好燒寫線,屏幕,調試串口和電源。開發(fā)板燒寫

Android11系統(tǒng)。在本小節(jié)中,作者使用的開發(fā)環(huán)境是Ubuntu18.04,使用pip3

安裝RKNN-Toolkit2工具。

wKgZPGkS1WKAI8zNAAdWH-GlYp0315.png

2開發(fā)板系統(tǒng)啟動之后,提示如下,我們將開發(fā)板連接到Ubuntu18.04上。

wKgZO2kS1WGAK0JBAAM8fNk6DtI738.png

3在ubuntu18.04上使用adb命令來連接開發(fā)板。如果沒有安裝adb命令,可以使用命令“apt install adb”安裝。輸入以下命令查看iTOP-RK3568開發(fā)板

adb devices

4如上圖所示,iTOP-rk3568開發(fā)板設備id號為“67188a9846568f84”,說明設備已經(jīng)成功通過adb工具連接到開發(fā)板。

5打開一個終端命令窗口,進入RKNPU2工程目錄,

cd rknpu2

6 adb獲得開發(fā)板root權限,輸入以下命令:

adb root

7重新掛載開發(fā)板,輸入以下命令:

adb remount

8更新板子的rknn_server和librknnrt.so,rknn_server和librknnrt.so介紹如下

所示:

librknnrt.so:是一個板端的runtime庫。

rknn_server:是一個運行在板子上的后臺代理服務,用于接收PC通過USB

輸過來的協(xié)議,然后執(zhí)行板端runtime對應的接口,并返回結果給PC。

9推送拷貝rknn_server到開發(fā)板,輸入以下命令:

adb push runtime/RK356X/Android/rknn_server/arm64/rknn_server /vendor/bin/

10推送拷貝librknnrt.so到開發(fā)板,輸入以下命令:

adb push runtime/RK356X/Android/librknn_api/arm64-v8a/librknnrt.so /vendor/lib64

11打開adb shell命令行,即可操作iTOP-rk3568開發(fā)板。

adb shell

12修改rknn_server權限,并同步修改的內容,輸入以下命令:

chmod +x /vendor/bin/rknn_server

13重啟設備,輸入以下命令:

reboot

14 Android系統(tǒng)啟動時會自動運行rknn_server, "ps -ef|grep rknn_server"可以查看是否運行,如下圖所示:

15我們進入rknn-toolkit2-1.3.0文件夾。以demo(onnx/yolov5)為例,使用rk3568

平臺進行推理。輸入以下命令進入examples/onnx/yolov5文件夾。

cd examples/onnx/yolov5

16修改examples/onnx/yolov5/test.py文件,我們修改對應的平臺為rk3568,修改如下所示,“-”代表需要刪除的內容,“+”代表需要新增的內容。

if __name__ == '__main__':

# Create RKNN object

-

rknn = RKNN(verbose=True)

+

rknn = RKNN()

# Pre-process config

print('--> Config model')

-

rknn.config(mean_values=[128, 128, 128], std_values=[128, 128, 128])

+

rknn.config(mean_values=[128, 128, 128], std_values=[128, 128, 128],

target_platform='rk3568')

print('done')

# Load model

@@ -62,7 +62,7 @@ if __name__ == '__main__':

# Init runtime environment

print('--> Init runtime environment')

-

ret = rknn.init_runtime()

+

ret = rknn.init_runtime(target='rk3568')

if ret != 0:

print('Init runtime environment failed!')

exit(ret)

修改完,保存文件并退出。

17激活虛擬化環(huán)境,輸入以下命令

source venv/bin/activate

18在運行模型之前,首先檢查開發(fā)板是否被識別到,輸入adb devices,如下圖

所示:

adb devices

19進入到examples/onnx/yolov5文件夾,輸入以下命令,執(zhí)行模型轉換和推理模型的test.py腳本。python test.py

wKgZO2kS1WKATwuzAAiHtoXHMY4669.pngwKgZPGkS1WKALa_TAAd5LQphLUw800.png

由上圖結果可以看出,圖上有三個人和一個巴士,所在坐標與原圖相符,推

理圖片成功。原圖如下圖所示:

wKgZO2kS1WKAZfDLAAWJ64-FY6U540.png

通過迅為電子提供的完整工具鏈和詳細文檔,我們輕松從模型轉換到真機運行,整個流程清晰明了,讓開發(fā)者能夠快速上手,真正發(fā)揮RK3568NPU的強大算力。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關注

    關注

    26

    文章

    6308

    瀏覽量

    118604
  • NPU
    NPU
    +關注

    關注

    2

    文章

    377

    瀏覽量

    21132
  • RK3568
    +關注

    關注

    5

    文章

    644

    瀏覽量

    7970
  • 迅為電子
    +關注

    關注

    0

    文章

    95

    瀏覽量

    368
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK3568手冊上新 | RK3568開發(fā)板NPU例程測試

    《iTOP-3568開發(fā)板NPU例程測試》 教程目錄 第1章 瑞芯微原廠NPU資料介紹 1.1瑞芯微官方github 1.2 rknn-toolk
    發(fā)表于 07-12 14:44

    手冊上新 |RK3568開發(fā)板NPU例程測試

    ●教程更新 《iTOP-3568開發(fā)板NPU例程測試》 教程目錄第1章 瑞芯微原廠NPU資料介紹 1.1瑞芯微官方github 1.2 rknn-t
    發(fā)表于 08-12 11:03

    手冊上新 |RK3568開發(fā)板NPU例程測試

    ●教程更新 《iTOP-3568開發(fā)板NPU例程測試》 教程目錄第1章 瑞芯微原廠NPU資料介紹 1.1瑞芯微官方github 1.2 rknn-t
    發(fā)表于 10-23 14:06

    RK3568開發(fā)板NPU使用安裝步驟

    輸入以下命令升級 pippython3 -m pip install --upgrade pip5 下載網(wǎng)盤資料中“iTOP-3568 開發(fā)板\\02_【iTOP-RK3568 開發(fā)板
    發(fā)表于 09-13 17:37

    RK3588開發(fā)板使用RKNN-Toolkit-lite2運行測試程序

    圖所示: 2 下載網(wǎng)盤資料中“iTOP-3588 開發(fā)板\\\\02_【iTOP-RK3588 開發(fā)板開發(fā)資料\\\\12_
    發(fā)表于 10-16 11:12

    iTOP-RK3568開發(fā)板npu手冊更新

    安裝 5.2.2通過pip install 安裝 5.3 RKNN-Toolkit2 的使用 5.3.1 模型運行在模擬器 5.3.2 模型運行在RK3568開發(fā)板 第6章 其他模型轉換 6.1
    發(fā)表于 11-03 14:40

    爆款推薦 |?RK3568開發(fā)板4核處理器+1T算力NPU+好用到爆的配套資料和視頻!

    爆款推薦 | RK3568開發(fā)板4核處理器+1T算力NPU+好用到爆的配套資料和視頻!
    的頭像 發(fā)表于 03-19 13:41 ?1479次閱讀
    爆款推薦 |?<b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>4核處理器+1T算力<b class='flag-5'>NPU</b>+好用到爆的配套資料和視頻!

    RK3576開發(fā)板NPU例程測試-rknn-toolkit2環(huán)境搭建和使用

    RK3576開發(fā)板NPU例程測試-rknn-toolkit2環(huán)境搭建和使用
    的頭像 發(fā)表于 06-17 13:46 ?1762次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>NPU</b>例程測試-<b class='flag-5'>rknn-toolkit2</b>環(huán)境搭建和使用

    RK3576開發(fā)板NPU環(huán)境搭建和使用rknn-toolkit2功能演示模型轉換

    RK3576開發(fā)板NPU環(huán)境搭建和使用rknn-toolkit2功能演示模型轉換
    的頭像 發(fā)表于 06-19 10:53 ?1379次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>NPU</b>環(huán)境搭建和使用<b class='flag-5'>rknn-toolkit2</b>功能演示模型轉換

    RK3576開發(fā)板NPU環(huán)境搭建和使用rknn-toolkit2功能演示連推理

    RK3576開發(fā)板NPU環(huán)境搭建和使用rknn-toolkit2功能演示連
    的頭像 發(fā)表于 06-23 13:54 ?1229次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>NPU</b>環(huán)境搭建和使用<b class='flag-5'>rknn-toolkit2</b>功能演示連<b class='flag-5'>板</b>推理

    高情性6TOPS算力的RK3576開發(fā)板NPU rknn-model-zoo例程演示

    RK3576開發(fā)板NPU rknn-model-zoo例程演示
    的頭像 發(fā)表于 07-01 14:54 ?1706次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>高情性6TOPS算力的<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>NPU</b> <b class='flag-5'>rknn</b>-model-zoo例程演示

    RK3568開發(fā)板模型推理測試實戰(zhàn)LPRNet?車牌識別

    RK3568開發(fā)板模型推理測試實戰(zhàn)LPRNet 車牌識別
    的頭像 發(fā)表于 08-25 14:55 ?1350次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>模型推理測試<b class='flag-5'>實戰(zhàn)</b>LPRNet?車牌識別

    實戰(zhàn)RK3568性能調優(yōu):如何利用資料壓榨NPU潛能-在Android系統(tǒng)中使用NPU

    實戰(zhàn)RK3568性能調優(yōu):如何利用資料壓榨NPU潛能-在Android系統(tǒng)中使用NPU
    的頭像 發(fā)表于 11-07 13:42 ?710次閱讀
    <b class='flag-5'>實戰(zhàn)</b><b class='flag-5'>RK3568</b>性能調優(yōu):如何利用<b class='flag-5'>迅</b><b class='flag-5'>為</b>資料壓榨<b class='flag-5'>NPU</b>潛能-在Android系統(tǒng)中使用<b class='flag-5'>NPU</b>

    RK3568 NPU實戰(zhàn)別再閑置NPU!手把手帶你用資料跑通Android AI檢測Demo,附完整流程與效果

    RK3568 NPU實戰(zhàn)別再閑置NPU!
    的頭像 發(fā)表于 11-10 15:58 ?1094次閱讀
    【<b class='flag-5'>RK3568</b> <b class='flag-5'>NPU</b><b class='flag-5'>實戰(zhàn)</b>】<b class='flag-5'>別再</b><b class='flag-5'>閑置</b><b class='flag-5'>你</b>的<b class='flag-5'>NPU</b>!<b class='flag-5'>手把手</b>帶你用<b class='flag-5'>迅</b><b class='flag-5'>為</b>資料跑通Android AI檢測Demo,附完整流程與效果

    工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅動開發(fā)實戰(zhàn)RK3568內核模塊符號導出詳解

    工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅動開發(fā)
    的頭像 發(fā)表于 11-21 13:25 ?1264次閱讀
    【<b class='flag-5'>迅</b><b class='flag-5'>為</b>工業(yè)<b class='flag-5'>RK3568</b>穩(wěn)定可靠】itop-<b class='flag-5'>3568</b><b class='flag-5'>開發(fā)板</b>Linux驅動<b class='flag-5'>開發(fā)</b><b class='flag-5'>實戰(zhàn)</b>:<b class='flag-5'>RK3568</b>內核模塊符號導出詳解