曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于RV1126開發(fā)板的rknn-toolkit-lite使用方法

ljx2016 ? 來源:ljx2016 ? 作者:ljx2016 ? 2025-04-15 17:33 ? 次閱讀

1. rknn-toolkit-lite介紹

rknn-toolkit-lite是用于python算法的推理的組件,當(dāng)前已經(jīng)在EASY-EAI-Nano完成適配,用戶可以用它進(jìn)行深度學(xué)習(xí)算法的純python開發(fā)。而且同時(shí)支持已經(jīng)進(jìn)行了預(yù)編譯的模型,短短幾行代碼即可完成算法的推理,大幅降低開發(fā)成本。同時(shí)很多不熟悉C/C++的算法開發(fā)人員有效降低開發(fā)門檻。本地文檔是根據(jù)已經(jīng)完成rknn模型轉(zhuǎn)換的模型進(jìn)行板卡上的推理,關(guān)于rknn模型轉(zhuǎn)換請(qǐng)閱讀請(qǐng)閱讀《在EASY EAI Nano運(yùn)行自定義的AI算法》。

wKgZO2f-KQ2AHOZgAAKzPIHJcF4641.png

2. 固件燒錄

當(dāng)前我們通過系統(tǒng)預(yù)裝的方式支持rknn-toolkit-lite,燒錄固件方式請(qǐng)閱讀《固件燒錄與更新》。

固件下載鏈接:https://pan.baidu.com/s/1sWFoPf6oJtZsUPp-_do7AQ

提取碼:1234

固件包如下所示:

wKgZPGf-KQ6AR0G_AAAkMjOfcTk795.png

3. 在板卡測(cè)試demo

下載百度網(wǎng)盤:https://pan.baidu.com/s/1yoof_SyY1ty93dIRe1dZgA (提取碼:1234 )

“測(cè)試程序/inference_with_lite.tar.bz2”,把文件傳到EASY-EAI-Nano板卡目錄上。

執(zhí)行以下指令進(jìn)行解壓:

tar xvf inference_with_lite.tar.bz2
wKgZO2f-KQ6AE9D3AABkdRULKr8838.png

執(zhí)行以下指令切換目錄并執(zhí)行測(cè)試程序:

cd /userdata/inference_with_lite/
python3 test.py

結(jié)果如下所示:

wKgZPGf-KQ6AHBg7AAEMU8v6kKQ706.png

4. rknn-toolkit-lite流程說明

4.1 使用流程圖

RKNN Tookit Lite使用流程如下:

wKgZO2f-KQ6ASBWaAAAizVY6QAg659.png

4.2 例程

第三小節(jié)的例程如下所示:

import platform
import cv2
import numpy as np
from rknnlite.api import RKNNLite

RKNN_MODEL = '10class_ResNet50_pre.rknn'
IMG_PATH = './test-1.jpg'
INPUT_SIZE = 224

BOX_THRESH = 0.25
NMS_THRESH = 0.6

CLASSES = ("SUV", "bus", "family sedan", "fire engine", "heavy truck", "jeep", "minibus", "racing car", "taxi", "truck")

def show_outputs(output):

	print("softmax output:", output)

	max_confidence = np.max(output)
	index = np.where(output == max_confidence)
	print("max confidence:", max_confidence)
	print("max confidence index:", index[0][0])
	print("CLASSES predict: ", CLASSES[index[0][0]])

def softmax(x):
	return np.exp(x)/sum(np.exp(x))


if __name__ == '__main__':
	rknn_lite = RKNNLite()

	# load RKNN model
	print('--> Load RKNN model')
	ret = rknn_lite.load_rknn(RKNN_MODEL)
	if ret != 0:
		print('Load RKNN model failed')
		exit(ret)
	print('done')

	# Set inputs
	img = cv2.imread(IMG_PATH)
	img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
	resize_img = cv2.resize(img,(224,224))

	# init runtime environment
	print('--> Init runtime environment')

	ret = rknn_lite.init_runtime(target=None)
	if ret != 0:
		print('Init runtime environment failed')
		exit(ret)
	print('done')

	# Inference
	print('--> Running model')
	outputs = rknn_lite.inference(inputs=[resize_img])

	print("outputs[0]:", outputs[0])
	print("outputs[0].shape:", outputs[0].shape)
	show_outputs(softmax(np.array(outputs[0][0])))
	rknn_lite.release()

5. API詳細(xì)說明

5.1 RKNNLite初始化及對(duì)象釋放

在使用RKNN Toolkit Lite時(shí),都需要先調(diào)用RKNNLite()方法初始化一個(gè)RKNNLite對(duì)象,并在用完后調(diào)用該對(duì)象的release()方法將資源釋放掉。

初始化RKNNLite對(duì)象時(shí),可以設(shè)置verbose和verbose_file參數(shù),以打印詳細(xì)的日志信息。其中verbose參數(shù)指定是否要在屏幕上打印詳細(xì)日志信息;如果設(shè)置了verbose_file參數(shù),且verbose參數(shù)值為True,日志信息還將寫到這個(gè)參數(shù)指定的文件中。

舉例如下:

# 將詳細(xì)的日志信息輸出到屏幕,并寫到inference.log文件中 
rknn_lite = RKNNLite(verbose=True, verbose_file='./inference.log') # 只在屏幕打印詳細(xì)的日志信息 
rknn_lite = RKNNLite(verbose=True) 
… 
rknn_lite.release() 

5.2 加載RKNN模型

API Load_rknn
描述 加載RKNN模型。
參數(shù) path:RKNN模型文件路徑
load_model_in_npu: 是否直接加載npu中的rknn模型。其中path為rknn模型在npu中的路徑。只有當(dāng)RKNN Toolkit Lite運(yùn)行在連有NPU設(shè)備的PC上或RK3399Pro Linux開發(fā)板時(shí)才可以設(shè)為True。默認(rèn)值為False.
返回值 0:加載成功
-1:加載失敗

舉例如下:

# 從當(dāng)前目錄加載 ResNet50模型
ret = rknn_lite.load_rknn('10class_ResNet50_pre.rknn')

5.3 初始化運(yùn)行時(shí)環(huán)境

在模型推理之前,必須先初始化運(yùn)行時(shí)環(huán)境,確定模型在哪一個(gè)芯片平臺(tái)上運(yùn)行。

API init_runtime
描述 初始化運(yùn)行時(shí)環(huán)境。確定模型運(yùn)行的設(shè)備信息(芯片型號(hào)、設(shè)備 ID)。
參數(shù) target:目標(biāo)硬件平臺(tái),目前支持“rk3399pro”、“rk1806”、“rk1808”、“rv1109”、 “rv1126”。默認(rèn)為 None,將根據(jù)應(yīng)用所運(yùn)行的開發(fā)板自動(dòng)選擇。
device_id:設(shè)備編號(hào),如果 PC 連接多臺(tái)智能設(shè)備時(shí),需要指定該參數(shù),設(shè)備編號(hào)可 以通過”list_devices”接口查看。默認(rèn)值為 None。
async_mode:是否使用異步模式。調(diào)用推理接口時(shí),涉及設(shè)置輸入圖片、模型推理、 獲取推理結(jié)果三個(gè)階段。如果開啟了異步模式,設(shè)置當(dāng)前幀的輸入將與推理上一幀同 時(shí)進(jìn)行,所以除第一幀外,之后的每一幀都可以隱藏設(shè)置輸入的時(shí)間,從而提升性能。 在異步模式下,每次返回的推理結(jié)果都是上一幀的。該參數(shù)的默認(rèn)值為 False。
返回值 0:加載成功
-1:加載失敗

舉例如下:

	# init runtime environment
	print('--> Init runtime environment')
	ret = rknn_lite.init_runtime(target=None)
	if ret != 0:
		print('Init runtime environment failed')
		exit(ret)
	print('done')

5.4 模型推理

API inference
描述 對(duì)指定輸入進(jìn)行推理,返回推理結(jié)果。
參數(shù) inputs:待推理的輸入,如經(jīng)過 cv2 處理的圖片。類型是 list,列表成員是 ndarray。
data_type:輸入數(shù)據(jù)的類型,可填以下值:’float32’, ‘float16’, ‘uint8’, ‘int8’, ‘int16’。 默認(rèn)值為’uint8’。
data_format:數(shù)據(jù)模式,可以填以下值: “nchw”, “nhwc”。默認(rèn)值為’nhwc’。這兩個(gè)的 不同之處在于 channel 放置的位置。
inputs_pass_through: 將輸入透?jìng)鹘o NPU 驅(qū)動(dòng)。非透?jìng)髂J较?,在將輸入傳給 NPU 驅(qū) 動(dòng)之前,工具會(huì)對(duì)輸入進(jìn)行減均值、除方差等操作;而透?jìng)髂J较?,不?huì)做這些操作。 這個(gè)參數(shù)的值是一個(gè)數(shù)組,比如要透?jìng)?input0,不透?jìng)?input1,則這個(gè)參數(shù)的值為[1, 0]。默認(rèn)值為 None,即對(duì)所有輸入都不透?jìng)鳌?/td>
返回值 results:推理結(jié)果,類型是 list,列表成員是 ndarray。

舉例如下:

以分類模型為例,如 resnet50,代碼如下(完整代碼參考第三小節(jié)):

	# Inference
	print('--> Running model')
	outputs = rknn_lite.inference(inputs=[resize_img])

	print("outputs[0]:", outputs[0])
	print("outputs[0].shape:", outputs[0].shape)
	show_outputs(softmax(np.array(outputs[0][0])))

5.5 查詢 SDK 版本

API get_sdk_version
描述 獲取 SDK API 和驅(qū)動(dòng)的版本號(hào)。
注:使用該接口前必須完成模型加載和初始化運(yùn)行環(huán)境。
參數(shù)
返回值 sdk_version:API 和驅(qū)動(dòng)版本信息。類型為字符串

舉例說明:

# 獲取 SDK 版本信息 
…… 
sdk_version = rknn_lite.get_sdk_version() 
……

返回的 SDK 信息如下:

wKgZPGf-KQ6AQlvRAAA1FYIIaUg671.png


審核編輯 黃宇

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

    關(guān)注

    2

    文章

    1556

    瀏覽量

    63354
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5432

    瀏覽量

    101236
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1058

    瀏覽量

    47438
  • rv1126
    +關(guān)注

    關(guān)注

    0

    文章

    106

    瀏覽量

    3288
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126開發(fā)板上實(shí)現(xiàn)人臉檢測(cè):在圖像中找出人臉,以及每張人臉的landmarks位置。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像, 算法代碼負(fù)責(zé)人臉檢測(cè)功能。
    的頭像 發(fā)表于 04-21 17:59 ?240次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實(shí)現(xiàn)人臉檢測(cè)方案

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126開發(fā)板上實(shí)現(xiàn)人臉檢測(cè):在圖像中找出人臉,以及每張人臉的landmarks位置。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像, 算法代碼負(fù)責(zé)人臉檢測(cè)功能。
    的頭像 發(fā)表于 04-21 14:00 ?13次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實(shí)現(xiàn)人臉檢測(cè)方案

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉識(shí)別方案

    RV1126開發(fā)板上實(shí)現(xiàn)人臉識(shí)別:在圖像中找出人臉,并與數(shù)據(jù)庫進(jìn)行比對(duì),得出該人臉對(duì)應(yīng)的身份信息。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為三個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像,算法代碼負(fù)責(zé)人臉識(shí)別功能,按鍵監(jiān)聽負(fù)責(zé)修改數(shù)據(jù)庫工作狀態(tài)。
    的頭像 發(fā)表于 04-21 10:24 ?107次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實(shí)現(xiàn)人臉識(shí)別方案

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126開發(fā)板上實(shí)現(xiàn)人臉檢測(cè):在圖像中找出人臉,以及每張人臉的landmarks位置。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像, 算法代碼負(fù)責(zé)人臉檢測(cè)功能。
    的頭像 發(fā)表于 04-21 10:21 ?99次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實(shí)現(xiàn)人臉檢測(cè)方案

    基于RV1126開發(fā)板實(shí)現(xiàn)安全帽檢測(cè)方案

    RV1126開發(fā)板上實(shí)現(xiàn)安全帽檢測(cè):在圖像中找出人頭/安全帽。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像,算法代碼負(fù)責(zé)安全帽檢測(cè)功能。
    的頭像 發(fā)表于 04-21 09:20 ?231次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實(shí)現(xiàn)安全帽檢測(cè)方案

    基于RV1126開發(fā)板實(shí)現(xiàn)駕駛員行為檢測(cè)方案

    RV1126開發(fā)板上實(shí)現(xiàn)駕駛員行為檢測(cè):通過圖像識(shí)別出這幾種行為:打電話、抽煙、疲勞駕駛。
    的頭像 發(fā)表于 04-18 17:47 ?354次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實(shí)現(xiàn)駕駛員行為檢測(cè)方案

    基于RV1126開發(fā)板實(shí)現(xiàn)人員檢測(cè)方案

    RV1126開發(fā)板實(shí)現(xiàn)人員檢測(cè):在圖像中找出人。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像,算法代碼負(fù)責(zé)人員檢測(cè)功能。
    的頭像 發(fā)表于 04-18 17:14 ?220次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實(shí)現(xiàn)人員檢測(cè)方案

    基于RV1126開發(fā)板的resnet50訓(xùn)練部署教程

    本教程基于圖像分類算法ResNet50的訓(xùn)練和部署到EASY-EAI-Nano(RV1126)進(jìn)行說明
    的頭像 發(fā)表于 04-18 15:07 ?244次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的resnet50訓(xùn)練部署教程

    基于RV1126開發(fā)板的音頻硬件電路設(shè)計(jì)

    ? ? ? ?核心自帶音頻輸入輸出功能,無需外接音頻編解碼芯片,節(jié)省成本與空間。核心核上的PMIC RK809-2芯片內(nèi)部集成高性能音頻Codec,RV1126通過I2S1接口和RK809-2
    的頭像 發(fā)表于 04-17 09:31 ?157次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的音頻硬件電路設(shè)計(jì)

    基于RV1126開發(fā)板的按鍵測(cè)試方法與例程

    RV1126開發(fā)板的按鍵測(cè)試方法與例程詳細(xì)描述
    的頭像 發(fā)表于 04-15 17:03 ?190次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的按鍵測(cè)試<b class='flag-5'>方法</b>與例程

    基于RV1126開發(fā)板網(wǎng)絡(luò)配置方法

    RV1126開發(fā)板網(wǎng)絡(luò)硬件資源有:以太網(wǎng)、WiFi,采用的網(wǎng)絡(luò)配置方案是:Netplan。 ? ? ? ?Netplan是一個(gè)用于配置Linux網(wǎng)絡(luò)的簡單工具。用戶只需要一個(gè)yaml格式的文件去
    的頭像 發(fā)表于 04-15 14:57 ?151次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>網(wǎng)絡(luò)配置<b class='flag-5'>方法</b>

    基于RV1126開發(fā)板的人員檢測(cè)算法開發(fā)

    RV1126開發(fā)人員檢測(cè)AI算法組件
    的頭像 發(fā)表于 04-14 13:56 ?172次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的人員檢測(cè)算法<b class='flag-5'>開發(fā)</b>

    基于RV1126開發(fā)板的人臉檢測(cè)算法開發(fā)

    RV1126開發(fā)人臉檢測(cè)算法組件
    的頭像 發(fā)表于 04-14 10:19 ?152次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的人臉檢測(cè)算法<b class='flag-5'>開發(fā)</b>

    RV1126 實(shí)現(xiàn)人臉檢測(cè)方案

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案,充分體現(xiàn)了電子方面的實(shí)踐經(jīng)驗(yàn)和目標(biāo)檢測(cè)技術(shù)。
    的頭像 發(fā)表于 04-14 09:25 ?98次閱讀
    <b class='flag-5'>RV1126</b> 實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126 實(shí)現(xiàn)簡單的UI開發(fā)示例

    RV1126上實(shí)現(xiàn)簡單的UI開發(fā)實(shí)例
    的頭像 發(fā)表于 04-09 16:08 ?193次閱讀
    <b class='flag-5'>RV1126</b> 實(shí)現(xiàn)簡單的UI<b class='flag-5'>開發(fā)</b>示例