女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

瑞芯微NPU使用攻略

合眾恒躍 ? 2025-05-21 15:50 ? 次閱讀

RKNPU 概述

RKNPU(Rockchip Neural Processing Unit)是瑞芯微(Rockchip)公司專為神經網絡處理設計的硬件加速單元,旨在提升人工智能機器學習任務的效率。以下是其核心要點:

定義與功能

硬件加速單元:RKNPU是集成在瑞芯微芯片中的專用NPU,專注于加速深度學習算法,如圖像識別、目標檢測、語音處理等,同時優化功耗與性能平衡。

支持多平臺:適配瑞芯微多款芯片,包括RK3566、RK3568、RK3588等,覆蓋從嵌入式設備到高性能邊緣計算場景。

架構與軟件棧

分層架構:

硬件層:物理NPU硬件,提供算力支持。

驅動層:負責硬件初始化、數據傳輸和任務調度,連接上層應用與硬件258。

應用層:通過C或Python API(如RKNN API)實現模型部署,支持動態形狀和多種操作符,開發者可靈活調用58。

開源工具鏈:提供驅動、運行時庫(如librknn_runtime)及模型轉換工具(如RKNN-Toolkit2),支持TensorFlow、PyTorch等框架模型的轉換與優化。

核心技術與工具

RKNN模型:瑞芯微專有的模型格式,通過量化、融合等技術優化模型,提升在NPU上的推理效率。支持加密功能,確保模型安全性。

開發工具:

RKNN-Toolkit2:用于PC端模型轉換、量化和性能評估,支持跨平臺模型遷移。

RKNPU2 SDK:提供C/C++接口,適用于高性能嵌入式部署。

應用場景

智能物聯網IoT):如智能攝像頭、工業傳感器,實現本地實時數據處理,減少云端依賴。

邊緣計算:支持高并發任務(如視頻分析、語音識別),適用于低帶寬或離線環境。

消費電子:應用于智能電視、家居設備,提升人臉識別、圖像處理等功能的響應速度。

優勢與特點

高效能低功耗:通過硬件加速和驅動優化,顯著降低AI任務的能耗,適合資源受限的嵌入式設備。

多框架兼容性:支持主流深度學習框架的模型轉換,降低開發門檻。

社區與生態:開源驅動和詳盡的文檔支持,開發者可快速上手并參與社區迭代。

開發環境搭建

Ubuntu:用于模型轉換和編譯示例程序。

Miniforge Conda :Python環境和包管理工具。

RKNN-Toolkit2:模型適配與優化的核心工具。

rknn_model_zoo:提供示例代碼。

源碼下載

按照如下兩個鏈接將rknn-toolkit2和rknn_model_zoo下載到本地Ubuntu系統下。

RKNPU2 SDK (for RK3576/RK3562/RK3566/RK3568/RK3588/RV1103/RV1106)

https://github.com/airockchip/rknn-toolkit2

Model zoo:

https://github.com/airockchip/rknn_model_zoo

安裝RKNN-Toolkit2環境

[!NOTE]

請確保源碼下載章節中RKNPU2 SDK下載成功,安裝RKNN-Toolkit2會使用到此工具包。

安裝Python

如果系統中沒有安裝 Python 3.8(建議版本),或者同時有多個版本的 Python 環境,建議使用Miniforge Conda 創建新的 Python 3.8 環境。

安裝Miniforge Conda

Miniforge Conda是一個Python環境和包管理工具,它提供了一個輕量級、高效的Conda發行版,適合那些希望避免Anaconda大型包集合或者對系統資源有限制的用戶。通過使用Miniforge,用戶可以享受到Conda的便利,同時不必擔心額外的負擔。

在終端窗口執行以下命令,檢查當前系統是否安裝Miniforge Conda,若已安裝則省略此節步驟。

在終端窗口執行以下命令,檢查當前系統是否安裝Miniforge Conda,若已安裝則省略此節步驟。

conda-V
#如果輸出類似conda 24.9.2,表示當前系統已安裝Miniforge conda,且版本為24.9.2
#如果輸出conda: command not found,表示當前系統未安裝Miniforge conda

如果沒有安裝Miniforge Conda,可以通過下面的鏈接下載Miniforge Conda安裝包。

[!TIP]

如果當前Ubuntu終端訪問不到該github鏈接,也可瀏覽器訪問https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh下載該安裝腳本并拷貝到Ubuntu環境目錄下進行安裝。

wget-chttps://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh

通過以下命令安裝Miniforge Conda。

chmod 777 Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

使用Miniforge Conda創建Python環境

在計算機的終端窗口中執行以下命令進入Conda base環境。

source~/miniforge3/bin/activate#Miniforge安裝目錄
#成功后,命令行提示符會變成以下形式:
#(base)xxx@xxx:~$

通過以下命令創建名稱為toolkit2的Python3.8環境。

conda create-ntoolkit2python=3.8

激活toolkit2環境,后續將在此環境中安裝RKNN-Toolkit2:

[!NOTE]

當終端重啟后要重新激活toolkit2環境

conda activate toolkit2
#成功后,命令行提示符會變成以下形式
#(toolkit2)xxx@xxx:~$

安裝RKNN-Toolkit2

激活RKNN-Toolkit2環境成功后,可通過pip源或者本地wheel包這兩種方式安裝RKNN-Toolkit2(建議使用本地wheel包安裝):

pip源安裝

#通過以下命令安裝
pip install rknn-toolkit2-ihttps://pypi.org/simple
?
#如果已安裝 RKNN-Toolkit2, 可通過以下命令升級 RKNN-Toolkit2
pip install rknn-toolkit2-ihttps://pypi.org/simple--upgrade

本地wheel包安裝

#進入rknn-toolkit2目錄,以下操作均在rknn-toolkit2根目錄下進行
cdrknn-toolkit2-master/rknn-toolkit2/
?
#請根據不通的python版本以及處理器架構選擇不同的requirements文件,cp38為python版本號為3.8,請根據實際conda安裝Python環境時的版本和處理器架構進行安裝,2.3.2為當前rknn-toolkit2的版本
pip install-rpackages/x86_64/requirements_cp38-2.3.2.txt
?
#安裝RKNN-Toolkit2,cp38為python版本號為3.8,請根據實際conda安裝Python環境時的版本和處理器架構選擇對應的wheel安裝包進行安裝,2.3.2為當前rknn-toolkit2的版本
pip install packages/x86_64/rknn_toolkit2-2.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

wKgZO2gthbiAH6QuAAKM65Qep9s732.png

驗證是否安裝成功

執行以下命令,沒有報錯則代表RKNN-Toolkit2環境安裝成功。

#進入Python交互模式
python
?
#導入RKNN類
from rknn.api import RKNN

wKgZPGgthbiAI0goAABmzfqjpb8702.png

安裝編譯環境

安裝cmake

在計算機終端中執行以下命令。

#更新包列表
sudoapt-get update
?
#安裝cmake
sudoapt-get install cmake

安裝Linux GCC交叉編譯器

因為不同的Linux文件系統對應的編譯工具鏈版本不一致,請根據實際系統選擇對應的交叉編譯器,并下載到本地。

Buildroot:https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz?rev=cf8baa0ef2e54e9286f0409cdda4f66c&hash=E813B503D52B4EF0CBEBEE36300B05049EB6B41F

Ubuntu22.04:https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz?rev=8d05006a68d24d929d602804ec9abfb4&hash=E8A66D3B9FF0EFC60A5C041AC3C5EE476349817B

編譯示例程序

RKNN Model Zoo 提供了示例代碼,example目錄下包括了一些常用的模式示例,例如MobileNet 和 YOLO等。每個模型示例提供了Python和C/C++兩個版本的示例代碼。以下我們以在RK3588的buildroot系統上部署C/C++的YOLOV8模型示例。

[!NOTE]

請確保源碼下載章節中Model Zoo下載成功,以下的示例程序均采用其中的示例代碼。

準備模型

#進入rknn_model_zoo-main/examples/yolov8/model目錄
cdrknn_model_zoo-main/examples/yolov8/model
?
# 運行 download_model.sh 腳本,下載 yolov8 onnx 模型
# 例如,下載好的 onnx 模型存放路徑為 model/yolov8n.onnx
chmod777download_model.sh
./download_model.sh

模型轉換

進入rknn_model_zoo-main/examples/yolov8/python目錄,運行convert.py 腳本,該腳本將原始的 ONNX 模型轉成RKNN 模型。

#進入rknn_model_zoo-main/examples/yolov8/python目錄
cdrknn_model_zoo-main/examples/yolov8/python
?
# 運行 convert.py 腳本,將原始的 ONNX 模型轉成 RKNN 模型
# 用法: python convert.py model_path [rk3568|rk3588|rk3562|rk3576] [i8/fp] [output_path]
python convert.py ../model/yolov8n.onnx rk3588 i8 ../model/yolov8n.rknn

[!NOTE]

本示例以RK3588為例,如果使用其他型號的CPU平臺,請在模型轉換時根據實際情況更改轉換命令中的CPU平臺指定。

編譯RKNN C/C++ Demo

指定編譯器的路徑 GCC_COMPILER 為本地的 GCC 編譯器路徑(編譯工具鏈請參考安裝編譯環境中安裝Linux GCC交叉編譯器章節)。即在build-linux.sh腳本中添加GCC_COMPILER屬性。

# 添加到 build-linux.sh 腳本的開頭位置即可
GCC_COMPILER=/home/hzhy/RKNN_Project/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu

在rknn_model_zoo目錄下運行build-linux.sh腳本。

#添加運行權限
chmod777build-linux.sh
?
# 運行 build-linux.sh 腳本
# 用法:./build-linux.sh -t -a -d [-b ] [-m]
# -t : target ((rk356x/rk3588/rk3576/rv1126b/rv1106/rk1808/rv1126)) # 平臺類型
# -a : arch (aarch64/armhf) # 板端系統架構
# -d : demo name # 對應 examples 目錄下子文件夾的名稱, 如yolov8、 mobilenet
# -b : build_type(Debug/Release)
# -m : enable address sanitizer, build_type need set to Debug
./build-linux.sh-trk3588-aaarch64-dyolov8

編譯完成后會在rknn_model_zoo_main目錄下生成install/rk3588_linux_aarch64/rknn_yolov8_demo/文件夾(根據對應的example生成對應的demo文件夾),將該文件夾通過scp或者其他方式拷貝到板卡中。

[!NOTE]

本示例以RK3588為例,如果使用其他型號的CPU平臺,請在Demo編譯時根據實際情況更改轉換命令中的CPU平臺指定。

板端運行Demo

通過串口、ssh、adb其中一種方式登錄到板卡終端。并進入存放C/C++ Demo的目錄。

wKgZPGgthbiAYvosAABAxtUNMI4199.png

在板端運行可執行文件。

#設置依賴庫環境變量
exportLD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
?
#運行可執行文件
#用法 ./rknn_yolov8_demo model_path為模型文件路徑 image_path為待推理圖片路徑
./rknn_yolov8_demo ./model/yolov8n.rknn ./model/bus.jpg

查看編譯結果

板端運行Demo推理完畢后會在當前目錄下生成推理后的圖片out.png,可以將out.png拷貝到PC上查看推理結果。

wKgZPGgthbiAdVP1ACX6ssHqOkc506.png

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

    關注

    42

    文章

    4806

    瀏覽量

    102720
  • 瑞芯微
    +關注

    關注

    25

    文章

    531

    瀏覽量

    52156
  • 機器學習
    +關注

    關注

    66

    文章

    8490

    瀏覽量

    134030
  • NPU
    NPU
    +關注

    關注

    2

    文章

    319

    瀏覽量

    19483
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    維修培訓資料

    維修培訓資料
    發表于 02-23 00:00

    RK1808計算棒試用申請】AIoT領域車牌識別Demo

    。剛好RK1808NPU可以實現這個功能,加上手頭開發板也是RK3399主控,正好和RK1808NPU計算棒集成起來,正如自己開發的R
    發表于 09-23 15:40

    RK1808計算棒試用申請】AIoT領域車牌識別Demo

    。剛好RK1808NPU可以實現這個功能,加上手頭開發板也是RK3399主控,正好和RK1808NPU計算棒集成起來,正如自己開發的R
    發表于 12-28 10:33

    RK3568怎么樣?

    RK3568怎么樣?
    發表于 03-02 10:04

    介紹三款車規芯片的簡單規格參數

      如今的汽車正朝著電動化、智能化的方向發展,汽車電子的嵌入式系統也成為了剛需,是國內較早進入通用型車規SoC市場的芯片設計商,早期的PX系列芯片也取得了一定的成績。除此之外,RK3588M
    發表于 08-03 15:45

    基于RV1109的酒店人臉識別應用

    、身份證健康碼二維碼掃碼器等多種外設擴展,可應用于閘機通道和門禁考勤,實現人員的安全、高效的進出控制。它采用RV1109高性能AI處理器,NPU獨立算力1.2T,搭載工業級雙目攝
    發表于 01-29 14:41

    方案升級工具

    方案升級工具
    發表于 01-05 22:27 ?245次下載

    VR開發平臺

    VR開發平臺
    發表于 02-17 14:12 ?43次下載

    VR開發資料

    VR開發資料
    發表于 02-17 14:14 ?58次下載

    平板電腦原理圖

    平板電腦原理圖
    發表于 05-02 08:50 ?31次下載

    首款AI芯片RK3399Pro:NPU性能達2.4TOPs!

    NPU性能達2.4TOPs! 首先在CES 2018年消費電子展前夜,就宣布,向全球正式推出旗下首款性能超強的AI處理器RK3399Pro,其片上
    發表于 01-11 01:53 ?5517次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>首款AI芯片RK3399Pro:<b class='flag-5'>NPU</b>性能達2.4TOPs!

    NPU時代來臨,AI芯片與Paddle Lite完成適配

    5月13日,百度飛槳開源深度學習平臺與Rockchip旗下AI芯片RK1808、RK1806正式完成適配,充分兼容飛槳輕量化推理引擎Paddle Lite。此次百度與
    的頭像 發表于 06-01 17:12 ?5005次閱讀

    NPU性能深度評測:RK3588、RK3576、RK3568、RK3562

    隨著AI技術不斷發展,越來越多的嵌入式設備開始集成NPU(神經網絡處理單元),以實現更高效的AI推理。作為國產芯片廠商的佼佼者,推出的RK3588、RK3576、RK3568、R
    的頭像 發表于 04-03 11:17 ?865次閱讀
    <b class='flag-5'>NPU</b>性能深度評測:<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>RK3588、RK3576、RK3568、RK3562

    RK3506開發板之Qt應用開發手冊(上) 深圳觸覺智能出品,嵌入式方案商

    RK3506開發板必備攻略之Qt應用開發手冊(上) 基于Ubuntu
    的頭像 發表于 04-28 17:16 ?292次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>RK3506開發板之Qt應用開發手冊(上) 深圳觸覺智能出品,嵌入式方案商

    RK3506開發板Ethercat主站適配開發詳細攻略,實測微秒級抖動延遲!

    RK3506開發板Ethercat主站適配開發詳細攻略,實測微秒級抖動延遲!
    的頭像 發表于 05-09 15:57 ?441次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>RK3506開發板Ethercat主站適配開發詳細<b class='flag-5'>攻略</b>,實測微秒級抖動延遲!