国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RKNN模型部署(1)—— 相關介紹

這篇具有很好參考價值的文章主要介紹了RKNN模型部署(1)—— 相關介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


1 RKNN介紹

1.1 簡介

?? Rockchip板載AI芯片,內(nèi)置高能效NPU,擁有強勁算力,支持多種AI框架和AI應用開發(fā)SDK,易于開發(fā),擁有面向AI應用的豐富接口,便于擴展,適用于語音喚醒、語音識別、人臉識別等功能應用場景。
?? RKNN 是 Rockchip npu 平臺使用的模型類型,以.rknn后綴結尾的模型文件。Rockchip提供RKNN-Toolkit開發(fā)套件進行模型轉換、推理運行和性能評估。
用戶通過提供的 python 接口可以便捷地完成以下功能:

1)模型轉換:支持 Caffe、Tensorflow、TensorFlow Lite、ONNX、Darknet 模型,支持RKNN 模型導入導出,后續(xù)能夠在硬件平臺上加載使用。

2)模型推理:能夠在 PC 上模擬運行模型并獲取推理結果,也可以在指定硬件平臺RK3399Pro Linux上運行模型并獲取推理結果。

3)性能評估:能夠在 PC 上模擬運行并獲取模型總耗時及每一層的耗時信息,也可以通過聯(lián)機調試的方式在指定硬件平臺 RK3399Pro Linux上運行模型,并獲取模型在硬件上運行時的總時間和每一層的耗時信息。

?? RKNN Tookit僅支持Linux系統(tǒng),可在PC上使用。此外, Rockchip 也提供了c/c++和python的API 接口。

1.2 RKNN-Toolkit

?? RKNN-Toolkit是為用戶提供在 PC、 Rockchip NPU 平臺上進行模型轉換、推理和性能評估的開發(fā)套件,用戶通過該工具提供的 Python 接口可以便捷地完成以下功能:
1、模型轉換
?? 支持Caffe、Tensorflow、TensorFlow Lite、ONNX、Darknet、Pytorch、MXNet 模型轉成 RKNN 模型,支持 RKNN 模型導入導出,后續(xù)能夠在 Rockchip NPU 平臺上加 載使用。從1.2.0版本開始支持多輸入模型。從1.3.0版本開始支持 Pytorch 和 MXNet。
2、量化功能
?? 支持將浮點模型轉成量化模型, 目前支持的量化方法有非對稱量化( asymmetric_quantized-u8 ) , 動態(tài)定點量化 ( dynamic_fixed_point-8 和 dynamic_fixed_point-16)。從1.0.0版本開始, RKNN-Toolkit 開始支持混合量化功能。
3、模型推理
?? 能夠在 PC 上模擬 Rockchip NPU 運行 RKNN 模型并獲取推理結果;也可以將 RKNN 模型分發(fā)到指定的 NPU 設備上進行推理。
4、性能評估
?? 能夠在 PC 上模擬 Rockchip NPU 運行 RKNN 模型,并評估模型性能(包括總 耗時和每一層的耗時);也可以將 RKNN 模型分發(fā)到指定 NPU 設備上運行,以評估模型 在實際設備上運行時的性能。
5、內(nèi)存評估
?? 評估模型運行時對系統(tǒng)和 NPU 內(nèi)存的消耗情況。使用該功能時,必須將 RKNN 模型分發(fā)到 NPU 設備中運行,并調用相關接口獲取內(nèi)存使用信息。從0.9.9版本開始支持該功能。
6、模型預編譯
?? 通過預編譯技術生成的 RKNN 模型可以減少在硬件平臺上的加載時間。對 于部分模型,還可以減少模型尺寸。但是預編譯后的 RKNN 模型只能在 NPU 設備上運行。 目前只有 x86_64 Ubuntu 平臺支持直接從原始模型生成預編譯 RKNN 模型。 RKNN-Toolkit 從0.9.5版本開始支持模型預編譯功能,并在1.0.0版本中對預編譯方法進行了升級,升級 后的預編譯模型無法與舊驅動兼容。從1.4.0版本開始,也可以通過 NPU 設備將普通 RKNN 模型轉成預編譯 RKNN 模型。
7、模型分段
?? 該功能用于多模型同時運行的場景下,可以將單個模型分成多段在 NPU 上執(zhí) 行,借此來調節(jié)多個模型占用 NPU 的執(zhí)行時間,避免因為一個模型占用太多執(zhí)行時間, 1而使其他模型得不到及時執(zhí)行。RKNN-Toolkit 從1.2.0版本開始支持該功能。該功能必須 在帶有 Rockchip NPU 的硬件上使用,且 NPU 驅動版本要大于0.9.8。
8、自定義算子功能
?? 如果模型含有 RKNN-Toolkit 不支持的算子(operator),那么在模型轉 換階段就會失敗。這時候可以使用自定義算子功能來添加不支持的算子,從而使模型能正 常轉換和運行。RKNN-Toolkit 從1.2.0版本開始支持該功能。自定義算子的使用和開發(fā)請參考《Rockchip_Developer_Guide_RKNN_Toolkit_Custom_OP_CN》文檔。
9、量化精度分析功能
?? 該功能將給出模型量化前后每一層推理結果的歐氏距離或余弦距離, 以分析量化誤差是如何出現(xiàn)的,為提高量化模型的精度提供思路。該功能從1.3.0版本開 始支持。1.4.0版本增加逐層量化精度分析子功能,將每一層運行時的輸入指定為正確的 浮點值,以排除逐層誤差積累,能夠更準確的反映每一層自身受量化的影響。
10、可視化功能
?? 該功能以圖形界面的形式呈現(xiàn) RKNN-Toolkit 的各項功能,簡化用戶操作步 驟。用戶可以通過填寫表單、點擊功能按鈕的形式完成模型的轉換和推理等功能,而不需 要再去手動編寫腳本。有關可視化功能的具體使用方法請參考《Rockchip_User_Guide_RKNN_Toolkit_Visualization_CN》文檔。1.3.0版本開始支持該功 能。1.4.0版本完善了對多輸入模型的支持,并且支持 RK1806, RV1109, RV1126 等新的 Rockchip NPU 設備。
11、模型優(yōu)化等級功能
?? RKNN-Toolkit 在模型轉換過程中會對模型進行優(yōu)化,默認的優(yōu)化選項 可能會對模型精度產(chǎn)生一些影響。通過設置優(yōu)化等級,可以關閉部分或全部優(yōu)化選項。有 關優(yōu)化等級的具體使用方法請參考 config 接口中optimization_level參數(shù)的說明。該功能從 1.3.0版本開始支持。

1.3 環(huán)境依賴

1、系統(tǒng)支持
Ubuntu 16.04 x64(以上)、Window 7 x64(以上)、Mac OS X 10.13.5 x64 (以上)、 Debian 9.8 (x64)以上;
2、Python版本
3.5/3.6/3.7;
3、Python依賴

'numpy == 1.16.3'
'scipy == 1.3.0'
'Pillow == 5.3.0'
'h5py == 2.8.0'
'lmdb == 0.93'
'networkx == 1.11'
'flatbuffers == 1.10',
'protobuf == 3.6.1'
'onnx == 1.4.1'
'onnx-tf == 1.2.1'
'flask == 1.0.2'
'tensorflow == 1.11.0' or 'tensorflow-gpu'
'dill == 0.2.8.2'
'ruamel.yaml == 0.15.81'
'psutils == 5.6.2'
'ply == 3.11'
'requests == 3.11'
'pytorch == 1.2.0'
'mxnet == 1.5.0'

1.Windows 只提供Python3.6的安裝包。
2.MacOS 提供Python3.6和Python3.7的安裝包。
3.ARM64 平臺(安裝 Debian 9 或 10 操作系統(tǒng))提供Python3.5(Debain 9)和Python3.7(Debian10)的安裝包。
4.除 MacOS 平臺外,其他平臺的 scipy 依賴為>=1.1.0。

2 NPU開發(fā)簡介

2.1 NPU特性

  • 支持 8bit/16bit 運算,運算性能高達 3.0TOPS。
  • 相較于 GPU 作為 AI 運算單元的大型芯片方案,功耗不到 GPU 所需要的 1%。
  • 可直接加載 Caffe / Mxnet / TensorFlow 模型。
  • 提供 AI 開發(fā)工具:支持模型快速轉換、支持開發(fā)板端側轉換 API、支持 TensorFlow / TF Lite / Caffe / ONNX / Darknet 等模型 。

2.2 開發(fā)流程

?? NPU開發(fā)完整的流程如下圖所示:
rknn部署,人工智能,深度學習,人工智能
1、模型訓練
??在模型訓練階段,用戶根據(jù)需求和實際情況選擇合適的框架(如Caffe、TensorFlow等)進行訓練得到符合需求的模型。也可直接使用已經(jīng)訓練好的模型。
2、模型轉換
??此階段為通過RKNN Toolkit把模型訓練中得到的模型轉換為NPU可用的模型。
3、程序開發(fā)
??最后階段為基于RKNN API或RKNN Tookit的Python API開發(fā)程序實現(xiàn)業(yè)務邏輯。

2.3 NPU驅動說明

?? NPU的驅動在$SDK/external/rknpu/drivers/目錄下或者https://github.com/rockchip-linux/rknpu/tree/master/drivers

其中的編譯、安裝規(guī)則參考$SDK/buildroot/package/rockchip/rknpu/rknpu.mk

主要目錄包括:

drivers/
├── common
├── linux-aarch64              // RK1808 full driver
├── linux-aarch64-mini         // RK1808 mini driver
├── linux-armhf                // RK1806 full driver
├── linux-armhf-mini           // RK1806 mini driver
├── linux-armhf-puma           // RV1109/RV1126 full driver
├── linux-armhf-puma-mini      // RV1109/RV1126 mini driver
├── npu_ko                     // NPU內(nèi)核驅動KO

在更新驅動時,需要同時更新用戶態(tài)驅動及內(nèi)核驅動,不然會產(chǎn)生類似錯誤:

[ 1] HAL user version 6.4.6.5.351518
[ 2] HAL kernel version 6.4.6.5.351518

另外,npu ko與內(nèi)核配置強相關,有可能會加載不成功,運行程序時,會產(chǎn)生類似錯誤:

[ 1] Failed to open device: No such file or directory, Try again...
[ 2] Failed to open device: No such file or directory, Try again...

有時需要手動更新NPU驅動,只要將相關的驅動拷貝到對應的目錄就可以,具體方式見手動更新NPU驅動。

3 RKNN SDK

?? RKNN SDK為帶有RKNPU的芯片平臺提供C語言編程接口,用于用戶部署RKNN模型。

?? 在使用 RKNN SDK 之前,用戶首先需要使用 RKNN-Toolkit 工具將用戶的模型轉換為RKNN模型,成功轉換生成RKNN 模型之后,用戶可以先通過RKNN-Toolkit 連接RK1808 等開發(fā)板進行聯(lián)機調試,確保模型的精度性能符合要求。得到RKNN 模型文件之后,用戶可以選擇使用 C 或Python 接口在RK1808 等平臺開發(fā)應用。

詳情見Rockchip_User_Guide_RKNN_API_V1.7.3_CN.pdf

4 Rock-X SDK 快捷AI組件庫

?? Rock-X SDK是基于RK3399Pro/RK1808的一組快捷AI組件庫,初始版本包括:人臉檢測、人臉識別、活體檢測、人臉屬性分析、人臉特征點、人頭檢測、人體骨骼關鍵點、手指關鍵點、人車物檢測等功能,開發(fā)者僅需要幾條API調用即可在嵌入式產(chǎn)品中離線地使用這些功能,而無需關心AI模型的部署細節(jié),極大加速了產(chǎn)品的原型驗證和開發(fā)部署。

?? Rock-X組件庫根據(jù)用戶的需求仍會不斷擴充,并將支持基于計算棒的調用。文章來源地址http://www.zghlxwxcb.cn/news/detail-707490.html

到了這里,關于RKNN模型部署(1)—— 相關介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • yolov8 瑞芯微 RKNN 的 C++部署,部署工程難度小、模型推理速度快

    yolov8 瑞芯微 RKNN 的 C++部署,部署工程難度小、模型推理速度快

    ?? 之前寫過兩次yolov8目標檢測部署,后續(xù)繼續(xù)思考,針對部署還有優(yōu)化空間,本示例的部署方式優(yōu)化了部署難度,加快了模型推理速度(略微增加了后處理的時耗)。 特別說明:如有侵權告知刪除,謝謝。 【完整代碼】代碼和模型 ?? onnx轉rknn模型這一步就不再贅述,請

    2024年01月23日
    瀏覽(20)
  • yolov5訓練pt模型并轉換為rknn模型,部署在RK3588開發(fā)板上——從訓練到部署全過程

    yolov5訓練pt模型并轉換為rknn模型,部署在RK3588開發(fā)板上——從訓練到部署全過程

    目錄 一、任務介紹 二、實驗過程 2.1 使用正確版本的yolov5進行訓練(平臺:x86機器windows系統(tǒng)) 2.2 best.pt轉換為best.onnx(平臺:x86機器window系統(tǒng)) 2.3 best.onnx轉換為best.rknn(平臺:x86機器Linux系統(tǒng)) 2.3.1 環(huán)境準備和工具包安裝 2.3.2 onnx轉換為rknn 2.4 RK3588部署rknn實現(xiàn)NPU加速(平臺:

    2024年02月03日
    瀏覽(23)
  • 香橙派5 RK3588 yolov5模型轉換rknn及部署踩坑全記錄 orangepi 5

    香橙派5 RK3588 yolov5模型轉換rknn及部署踩坑全記錄 orangepi 5

    由于距離寫這篇文章過去很久,有的部分,官方已更新,請多結合其他人的看,并多琢磨、討論~ 另外打個小廣告: 博客 https://blog.vrxiaojie.top/ 歡迎大家前來做客玩耍,提出問題~~ 以后的文章都會在博客發(fā)布了,CSDN這邊可能這是最后一篇文章。 (1) 使用官方提供的Ubuntu鏡像:

    2024年02月05日
    瀏覽(28)
  • yolov8n 瑞芯微RKNN、地平線Horizon芯片部署、TensorRT部署,部署工程難度小、模型推理速度快

    yolov8n 瑞芯微RKNN、地平線Horizon芯片部署、TensorRT部署,部署工程難度小、模型推理速度快

    ??特別說明:參考官方開源的yolov8代碼、瑞芯微官方文檔、地平線的官方文檔,如有侵權告知刪,謝謝。 ??模型和完整仿真測試代碼,放在github上參考鏈接 模型和代碼。 ??因為之前寫了幾篇yolov8模型部署的博文,存在兩個問題:部署難度大、模型推理速度慢。該篇解

    2024年01月16日
    瀏覽(27)
  • 36、RK3399Pro 環(huán)境搭建和Yolov5 c++調用opencv進行RKNN模型部署和使用

    36、RK3399Pro 環(huán)境搭建和Yolov5 c++調用opencv進行RKNN模型部署和使用

    基本思想:記錄rk3399 pro配置環(huán)境和c++ npu開發(fā)記錄,主要想搞一份c++代碼和其它圖像算法結合一下,好進行部署,淘寶鏈接見附錄 ?需要的python3.7對應的aarch64的whl包:包含opencv-whl 、h5py-whl包: 鏈接: https://pan.baidu.com/s/1cvCAmHBa_4KgEjrcFIYnig 提取碼: 5ui4 鏈接: https://pan.baidu.com/s/1hrc

    2024年02月07日
    瀏覽(28)
  • yolov8n 瑞芯微RKNN和地平線Horizon芯片仿真測試部署,部署工程難度小、模型推理速度快

    yolov8n 瑞芯微RKNN和地平線Horizon芯片仿真測試部署,部署工程難度小、模型推理速度快

    ??特別說明:參考官方開源的yolov8代碼、瑞芯微官方文檔、地平線的官方文檔,如有侵權告知刪,謝謝。 ??模型和完整仿真測試代碼,放在github上參考鏈接 模型和代碼。 ??因為之前寫了幾篇yolov8模型部署的博文,存在兩個問題:部署難度大、模型推理速度慢。該篇解

    2024年02月01日
    瀏覽(28)
  • 【人工智能】簡單線性回歸模型介紹及python實現(xiàn)

    【人工智能】簡單線性回歸模型介紹及python實現(xiàn)

    簡單線性回歸是人工智能和統(tǒng)計學中一個基本的預測技術,用于分析兩個連續(xù)變量之間的線性關系。在簡單線性回歸中,我們試圖找到一個線性方程來最好地描述這兩個變量之間的關系。 變量 :簡單線性回歸涉及兩個變量 - 自變量(independent variable)和因變量(dependent vari

    2024年01月17日
    瀏覽(20)
  • 微信小程序的人工智能模型部署(flask)

    微信小程序的人工智能模型部署(flask)

    目錄 寫在前面: 具體做法: 后端: 前端: 其他: 我使用的微信小程序開發(fā)工具是:“微信開發(fā)者工具”,當然你用其他的開發(fā)工具應該也差別不大; 人工智能模型用的是pytorch; 具體不介紹人工智能模型的保存,主要介紹一下flask的寫法; 首先你要把人工智能模型先保存

    2024年02月15日
    瀏覽(24)
  • yolov5-6.0項目部署+自用Pytorch模型轉換rknn模型并在RK3568 linux(Debian)平臺上使用qt部署使用NPU推理加速攝像頭目標識別詳細新手教程

    yolov5-6.0項目部署+自用Pytorch模型轉換rknn模型并在RK3568 linux(Debian)平臺上使用qt部署使用NPU推理加速攝像頭目標識別詳細新手教程

    1 我們打開yolov的官網(wǎng),Tags選擇6.0版本 2. 下載該壓縮包并解壓到工程目錄下 3. 我們這里使用pycharm,專門針對python的IDE,用起來非常方便,下載方式就是官網(wǎng)直接下載,用的是社區(qū)版 4. 我們需要安裝環(huán)境,這里我推薦安裝Anaconda在電腦上,這是一個非常方便的包管理工具,可

    2024年02月05日
    瀏覽(33)
  • 在OK3588板卡上部署模型實現(xiàn)人工智能OCR應用(十一)

    在OK3588板卡上部署模型實現(xiàn)人工智能OCR應用(十一)

    我們依舊采用FastDeploy來部署應用深度學習模型到OK3588板卡上 進入主機Ubuntu的虛擬環(huán)境 conda activate ok3588 安裝rknn-toolkit2(該工具不能在OK3588板卡上完成模型轉換) git clone https://github.com/rockchip-linux/rknn-toolkit2 cd rknn-toolkit2 注意這里需要1.4的版本 git checkout v1.4.0 -f cd packages pip in

    2024年02月05日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包