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

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

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

3天內不再提示

基于RV1126開發板的rknn-toolkit-lite使用方法

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

1. rknn-toolkit-lite介紹

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

wKgZO2f-KQ2AHOZgAAKzPIHJcF4641.png

2. 固件燒錄

當前我們通過系統預裝的方式支持rknn-toolkit-lite,燒錄固件方式請閱讀《固件燒錄與更新》。

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

提取碼:1234

固件包如下所示:

wKgZPGf-KQ6AR0G_AAAkMjOfcTk795.png

3. 在板卡測試demo

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

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

執行以下指令進行解壓:

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

執行以下指令切換目錄并執行測試程序:

cd /userdata/inference_with_lite/
python3 test.py

結果如下所示:

wKgZPGf-KQ6AHBg7AAEMU8v6kKQ706.png

4. rknn-toolkit-lite流程說明

4.1 使用流程圖

RKNN Tookit Lite使用流程如下:

wKgZO2f-KQ6ASBWaAAAizVY6QAg659.png

4.2 例程

第三小節的例程如下所示:

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詳細說明

5.1 RKNNLite初始化及對象釋放

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

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

舉例如下:

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

5.2 加載RKNN模型

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

舉例如下:

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

5.3 初始化運行時環境

在模型推理之前,必須先初始化運行時環境,確定模型在哪一個芯片平臺上運行。

API init_runtime
描述 初始化運行時環境。確定模型運行的設備信息(芯片型號、設備 ID)。
參數 target:目標硬件平臺,目前支持“rk3399pro”、“rk1806”、“rk1808”、“rv1109”、 “rv1126”。默認為 None,將根據應用所運行的開發板自動選擇。
device_id:設備編號,如果 PC 連接多臺智能設備時,需要指定該參數,設備編號可 以通過”list_devices”接口查看。默認值為 None。
async_mode:是否使用異步模式。調用推理接口時,涉及設置輸入圖片、模型推理、 獲取推理結果三個階段。如果開啟了異步模式,設置當前幀的輸入將與推理上一幀同 時進行,所以除第一幀外,之后的每一幀都可以隱藏設置輸入的時間,從而提升性能。 在異步模式下,每次返回的推理結果都是上一幀的。該參數的默認值為 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
描述 對指定輸入進行推理,返回推理結果。
參數 inputs:待推理的輸入,如經過 cv2 處理的圖片。類型是 list,列表成員是 ndarray。
data_type:輸入數據的類型,可填以下值:’float32’, ‘float16’, ‘uint8’, ‘int8’, ‘int16’。 默認值為’uint8’。
data_format:數據模式,可以填以下值: “nchw”, “nhwc”。默認值為’nhwc’。這兩個的 不同之處在于 channel 放置的位置。
inputs_pass_through: 將輸入透傳給 NPU 驅動。非透傳模式下,在將輸入傳給 NPU 驅 動之前,工具會對輸入進行減均值、除方差等操作;而透傳模式下,不會做這些操作。 這個參數的值是一個數組,比如要透傳 input0,不透傳 input1,則這個參數的值為[1, 0]。默認值為 None,即對所有輸入都不透傳。
返回值 results:推理結果,類型是 list,列表成員是 ndarray。

舉例如下:

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

	# 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 和驅動的版本號。
注:使用該接口前必須完成模型加載和初始化運行環境。
參數
返回值 sdk_version:API 和驅動版本信息。類型為字符串

舉例說明:

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

返回的 SDK 信息如下:

wKgZPGf-KQ6AQlvRAAA1FYIIaUg671.png


審核編輯 黃宇

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

    關注

    2

    文章

    1559

    瀏覽量

    63514
  • 開發板
    +關注

    關注

    25

    文章

    5500

    瀏覽量

    102171
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1065

    瀏覽量

    47670
  • rv1126
    +關注

    關注

    0

    文章

    106

    瀏覽量

    3345
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于RV1126開發板實現人臉檢測方案

    RV1126開發板上實現人臉檢測:在圖像中找出人臉,以及每張人臉的landmarks位置。 方案設計邏輯流程圖,方案代碼分為分為兩個業務流程,主體代碼負責抓取、合成圖像, 算法代碼負責人臉檢測功能。
    的頭像 發表于 04-21 17:59 ?322次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發板</b>實現人臉檢測方案

    基于RV1126開發板實現人臉檢測方案

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

    基于RV1126開發板實現人臉識別方案

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

    基于RV1126開發板實現人臉檢測方案

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

    基于RV1126開發板實現安全帽檢測方案

    RV1126開發板上實現安全帽檢測:在圖像中找出人頭/安全帽。 方案設計邏輯流程圖,方案代碼分為分為兩個業務流程,主體代碼負責抓取、合成圖像,算法代碼負責安全帽檢測功能。
    的頭像 發表于 04-21 09:20 ?280次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發板</b>實現安全帽檢測方案

    基于RV1126開發板實現駕駛員行為檢測方案

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

    基于RV1126開發板實現人員檢測方案

    RV1126開發板實現人員檢測:在圖像中找出人。 方案設計邏輯流程圖,方案代碼分為分為兩個業務流程,主體代碼負責抓取、合成圖像,算法代碼負責人員檢測功能。
    的頭像 發表于 04-18 17:14 ?220次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發板</b>實現人員檢測方案

    基于RV1126開發板的resnet50訓練部署教程

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

    基于RV1126開發板的音頻硬件電路設計

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

    基于RV1126開發板的按鍵測試方法與例程

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

    基于RV1126開發板網絡配置方法

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

    基于RV1126開發板的人員檢測算法開發

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

    基于RV1126開發板的人臉檢測算法開發

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

    RV1126 實現人臉檢測方案

    基于RV1126開發板實現人臉檢測方案,充分體現了電子方面的實踐經驗和目標檢測技術。
    的頭像 發表于 04-14 09:25 ?179次閱讀
    <b class='flag-5'>RV1126</b> 實現人臉檢測方案

    RV1126 實現簡單的UI開發示例

    RV1126上實現簡單的UI開發實例
    的頭像 發表于 04-09 16:08 ?279次閱讀
    <b class='flag-5'>RV1126</b> 實現簡單的UI<b class='flag-5'>開發</b>示例