迅為高情性6TOPS算力的RK3576開發板NPU rknn-model-zoo例程演示

迅為iTOP-3576開發板采用瑞芯微RK3576高性能、低功耗的應用處理芯片,集成了4個Cortex-A72和4個Cortex-A53核心,以及獨立的NEON協處理器。它適用于ARM PC、邊緣計算、個人移動互聯網設備及其他多媒體產品。

支持INT4/INT8/INT16/FP16/BF16/TF32混合運算,并憑借其強大的兼容性,可以輕松轉換基于TensorFlow、MXNet、PyTorch、Caffe等一系列框架的網絡模型。滿足多種應用場景。

rknn-model-zoo?中提供了當前主流算法部署到?RK SOC?的例程,包含了模型的轉換、模型

的?Python api?推理、模型的?C api?推理,rknn-model-zoo?倉庫在?1.5?小節已經講解了獲取方法,

而由于每個例程的使用都非常相似,所以在本章節只以?deeplabv3?例程為例進行例程演示。

DeepLabv3?是一種用于語義分割的深度學習模型,由?Google?研究團隊在?2017?年提出。它

是?DeepLab?系列模型的第三代產品,相比前兩代模型在準確性和運行效率上都有顯著提升。

5.1 模型下載和模型轉換

不論是模型的?Python api?推理還是模型的?C api?推理都需要將常規模型轉換為?RKNN?模型,

首先進入到?deeplabv3?目錄

在?model?目錄下有著常規模型的下載腳本,如下圖所示:

然后賦予該腳本權限并運行該腳本,下載?deeplabv3?模型,

下載完成之后,可以看到當前目錄多出來了?deeplab-v3-plus-mobilenet-v2.pb?模型,其他例

程的模型也是通過上述方法進行下載。然后來到?python?目錄下,在?python?目錄下有著模型轉

換的?python?程序?convert.py,

convert.py?程序實際上就是由?rknn-toolkit2?編寫的程序,所以在運行之前必須要確保根據

2.1?小節搭建了?rknn-toolkit2?環境,convert.py?的使用方法如下所示:

可以使用以下命令進行模型轉換,表示將?deeplab?模型轉換為在?RK3576?上運行的量化

RKNN?模型,如下圖所示:

python3 convert.py ../model/deeplab-v3-plus-mobilenet-v2.pb rk3576 i8

在運行的過程中會有一些警告,不影響轉換結果,默認忽略即可,轉換完成會在?model

目錄下生成名為?deeplab-v3-plus-mobilenet-v2.rknn?的?RKNN?模型,

至此,關于?deeplabv3?例程的模型下載和模型轉換就演示完成了,rknn-model-zoo?其他例

程的模型下載和模型轉換步驟相同,模型轉換完成之后,就可以進行推理測試了,rknn-model

-zoo?提供了?rknn-toolkit2 Python API?連板推理和?rknpu2 C API?推理這兩種方式,會在接下來

的小節中對兩種方法進行演示。

5.2 Python API 推理

在每個?rknn-model-zoo?例程文件夾的?python?目錄中除了模型轉換程序還有推理程序,所

使用的也是由?rknn-toolkit2 API?編寫的程序,

而由于?rknn-toolkit2?只能運行在?X86?的?Linux?系統中,所以這里采用的是連板推理的方式,

關于連板推理的演示可以看?2.2.2?小節,在本章節不再進行詳細的介紹,直接進行演示。

首先啟動開發板,這里開發板燒寫的是?ubuntu22?鏡像,使用其他鏡像都可以,燒寫完成

之后,需要先更新?rknn_server?和?librknnrt.so?文件,rknn_server?和?librknnrt.so?分別為?rknn-too

lkit2/rknpu2/runtime/Linux/rknn_server/aarch64/usr/bin?和?rknn-toolkit2/rknpu2/runtime/Linux/li

brknn_api/aarch64?目錄下如下圖所示:

然后將?rknn_server?和?librknnrt.so?拷貝到開發板上,其中?rknn_server?需要拷貝到/usr/bin

目錄下,而?librknnrt.so?要拷貝到/usr/lib?目錄,拷貝完成之后,運行?rknn_server?如下圖所示:

然后確保開發板的?adb?設備連接到了虛擬機?ubuntu,連接成功之后在左側菜單欄中會有一

個手機的圖標,

然后在終端使用“adb devices”命令查看當前連接的?adb?設備,存在?adb?設備表示連接成

功,

而?deeplabv3.py?程序的運行需要?matplotlib?依賴,所以要運行以下命令安裝?matplotlib,如

下圖所示:

pip3 install matplotlib -i https://repo.huaweicloud.com/repository/pypi/simple/

安裝完成之后就可以運行?deeplabv3.py?程序了,deeplabv3.py?程序有三個參數,分別為

--model_path、--target?和--device_id,--model_path?表示?RKNN?模型路徑,--target?表示連接的

開發板?SOC?類型,--device_id?為上面通過“adb devices”獲取到的設備?id,但由于只有一個設

備,所以--device_id?參數可以忽略不寫,所以推理命令如下所示:

運行完成之后,會在當前路徑輸出語義分割之后的圖形?output.png,原圖形和分割之后的

對比圖如下所示:

可以看到小朋友、自行車已經使用了不同的顏色進行了分割,至此對于?Python API?推理就

演示完成了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913195.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913195.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913195.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

rsync 命令詳解

目錄 rsync 傳輸備份工作原理詳解一、核心算法:差異傳輸二、傳輸流程三、關鍵技術四、與cp/scp復制的本質區別rsync的使用基本語法常用選項常用組合案例1. **本地目錄同步**2. **遠程同步(SSH協議)**3. **刪除目標端多余文件**4. **排除特定文件**5. **限速傳輸(避免占用帶…

【MySQL進階】錯誤日志,二進制日志,mysql系統庫

目錄 一.錯誤日志 1.1 配置錯誤日志 1.1.1 Windows的默認錯誤日志路徑 1.1.2 Unix和Linux系統的默認錯誤日志路徑 1.2 錯誤日志中事件的字段 1.2.1 核心錯誤事件字段 1.2.2.MySQL 錯誤消息的兩種不同輸出渠道 1.2.3 可選錯誤事件字段 1.3. 刷新錯誤日志文件和重命名 二…

day45-nginx復雜跳轉與https

1. ?nginx復雜跳轉 客戶端ip不是內網(172.16/192.168)ip時,維護文件存在時,返回503或者錯誤頁面 1.1. 📝修改配置文件 server {listen 80;server_name re.linux.cn; root /app/code/re/;set $flag 0;if ( $remote_addr !~* "^172…

基于pcl點云庫實現激光雷達數據采集

基于pcl點云庫實現倍加福R2000激光雷達數據采集 一、項目介紹二、開發詳情三、顯示效果展示四、說明 一、項目介紹 最近用pcl庫實現了倍加福R2000激光雷達的數據采集,并實時在viewer上實時更新顯示。軟件的開發是基于vs2019qt插件pcl庫實現,可以完成如下…

微信小程序61~70

1.組件wxml的slot-插槽 在使用基礎組件時,可以在組件中間寫子節點,從而將子節點內容展示到頁面中,自定義組件也可以接收子節點但是要在組件模板中定義節點,承載組件中間的子節點需要使用多個插槽時,要在組件.js中聲明…

03_性能優化:讓軟件呼吸更順暢

引言 在用戶對軟件響應速度近乎苛刻的今天,性能已成為產品競爭力的核心指標。據Google研究,頁面加載時間每增加1秒,轉化率就會下降20%。本文將從前端、后端、移動端三個維度,揭示性能優化的核心策略與實戰技巧,幫助你打…

LangChain4j 框架模仿豆包實現智能對話系統:架構與功能詳解

系統整體架構設計基于 LangChain4j 框架構建的智能對話系統采用 "前后端分離 大模型中樞" 的三層架構設計,實現了與豆包類似的智能交互體驗。系統架構圖如下所示:┌────────────────────────────────────…

基于uni-app的書法學習管理小程序的設計與實現

一、設計的目的 書法是中華民族傳統文化的瑰寶,更是人類文明的寶貴財富,具有深遠的意義和實價值。在當今數字化時代,隨著信息技術的飛速發展,傳統書法學習模式面臨著諸多挑戰和需要解決的問題。為推動書法學習的現代化轉型&#…

NumPy 函數庫在數學建模中的基本使用方法

一、引言 在數學建模的世界里,我們常常需要處理大量的數據和進行復雜的數值計算。Python 中的 NumPy 庫就像是一位得力的助手,它為我們提供了強大的多維數組對象和豐富的數學函數,讓我們能夠高效地完成各種數值計算任務。接下來,我們將深入探討 NumPy 在數學建模中的基本使…

模塊三:現代C++工程實踐(4篇)第一篇《C++模塊化開發:從Header-only到CMake模塊化》

引言:現代C工程化的核心挑戰(終極擴展版) 在云計算與物聯網時代,C項目規模呈指數級增長。傳統Header-only開發模式暴露出編譯效率低下、依賴管理混亂、版本沖突頻發等致命問題。本文通過CMake 3.22Conan 2.0工具鏈的深度集成&…

uniapp啟動圖被拉伸問題

記錄下: 安卓手機有不同的規格,很難所有規格都去適配。如果不適配所有機型,那么就會導致部分機型的啟動圖被拉伸。 安卓提供了.9.png圖片格式,允許標注部分拉伸,這樣啟動圖中間的logo就不會被拉伸。 下面2張圖是沒有…

stm32的三種開發方式

以下是針對STM32F103RC實現LED閃爍(PC13引腳)的三種開發方式示例代碼,每種方式均保持相同的核心邏輯: 1. 寄存器開發方式(直接操作寄存器) #include "stm32f10x.h"int main(void) {// 1. 開啟G…

SpringBoot問卷調查系統設計與實現

概述 基于SpringBoot開發的問卷調查系統,該系統集成了問卷管理、題目管理等多種功能模塊。 主要內容 核心功能模塊: ??個人信息管理??: 修改密碼個人信息修改 ??問卷管理??: 問卷新增問卷修改問卷刪除 ??題目管理?…

Linux進程管理:從基礎到實戰

在 Linux 系統編程中,進程(Process) 是操作系統進行資源分配和調度的基本單位。理解進程的概念是掌握系統編程、多任務處理、并發編程的基礎。 目錄 一、什么是進程? 定義: 二、進程的生命周期 示例:查…

工業物聯網中的 Modbus:傳感器與網關通信實戰(二)

四、實戰案例解析 4.1 項目背景與目標 某智能工廠致力于提升生產過程的自動化和智能化水平,對生產線上的各種設備進行實時監控和數據分析。在該工廠的一個生產車間中,存在著大量的傳感器,用于監測設備的運行狀態、環境參數等信息。這些傳感…

飛算 JavaAI 智控引擎:全鏈路開發自動化新圖景

免責聲明: 此文章的所有內容皆是本人實驗測評,并非廣告推廣,并非抄襲。如有侵權,請聯系,謝謝! 文章目錄📝前言一、飛算 Java AI 智能開發助手簡介1.1何為飛算 Java AI智能助手?2.2 飛算Java AI 直擊開發全場…

MYSQL數據庫(九)MVCC-多版本并發控制

目錄 一 前景導入 1 當前讀 2 快照讀 二 MVCC 1 隱藏字段 2 UndoLog 回滾日志 (1 UndoLog日志 (2 UndoLog版本鏈 3 Read View 面試八股 介紹一下MVCC 一 前景導入 1 當前讀 可使當前事務讀取的是最新版本的數據,讀取時還要保證其他并發事務不能修改當中…

[Pytest] [Part 2]增加 log功能

開始實現需求之前先做個log類,可以給其他模塊使用,也方便以后修改log類的功能和屬性。 使用的是python中的logging包來進行簡單的封裝,具體代碼如下 import logging import sysclass TefLogger:def __init__(self, logger_nameTEST_FRAMEWOR…

NeighborGeo:基于鄰居的IP地理定位(三)

NeighborGeo:基于neighbors的IP地理定位 X. Wang, D. Zhao, X. Liu, Z. Zhang, T. Zhao, NeighborGeo: IP geolocation based on neighbors, Comput. Netw. 257 (2025) 110896, 3. NeighborGeo 本文提出NeighborGeo,利用圖結構學習和有監督對比學習來建立可靠的地標-目標關…

python使用fastmcp包編寫mcp服務端(mcp_server)和mcp客戶端(mcp_client)

安裝fastmcp pip install fastmcp編寫mcp服務端代碼 from fastmcp import FastMCP mcp FastMCP(weather)mcp.tool() def get_weather(city: str):獲取對應城市的天氣:param city: 目標城市:return: 該城市的天氣return f"{city}天氣晴朗,溫度60度&#xff01…