91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

X3派AI算法推理快速入門

地瓜機器人 ? 2022-07-18 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

0 環(huán)境安裝

在進行AI算法開發(fā)之前請參考X3派用戶手冊完成系統(tǒng)安裝及配置,此時X3派上已默認安裝好了地平線Python版本AI推理引擎(hobot_dnn)及其配套依賴環(huán)境。hobot_dnn提供了ModelpyDNNTensor、TensorProperties三個類和load接口。您可通過如下方式獲取hobot_dnn的基本信息:

-------------------------------------------------------------------------------------------------------------------------------

python3
>>> from hobot_dnn import pyeasy_dnn as dnn
>>> dir(dnn)
['Model', 'TensorProperties', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'load', 'pyDNNTensor']

-------------------------------------------------------------------------------------------------------------------------------

AI推理引擎的更新可參考如下方式(出于系統(tǒng)安全、穩(wěn)定性的考慮,建議統(tǒng)一通過APT命令更新X3派板級開發(fā)包):

-------------------------------------------------------------------------------------------------------------------------------

#更新package列表
sudo apt update
#升級所有已安裝的軟件包到最新版本
sudo apt full-upgrade
#清除緩存文件(非必須)
sudo apt clean
#重啟設(shè)備
sudo reboot

-------------------------------------------------------------------------------------------------------------------------------

1 推理接口介紹

1.1 Model

AI算法模型類,描述模型的名稱,輸入、輸出數(shù)據(jù)屬性信息,forward 方法用來完成算法的推理。

-------------------------------------------------------------------------------------------------------------------------------

class hobot_dnn.pyeasy_dnn.Model
'''
Parameters
1、name (string):模型名稱
2、inputs (tuple(hobot_dnn.pyeasy_dnn.pyDNNTensor)):模型的輸入tensor
3、outputs (tuple(hobot_dnn.pyeasy_dnn.pyDNNTensor)):模型的輸出tensor
4、forward (args &args, kwargs &kwargs):模型推理函數(shù)接口,輸入模型推理所必要的參數(shù),返回模型推理結(jié)果
parameters:
input_tensor:輸入數(shù)據(jù)
core_id (int):模型推理的core id,可為0,1,2,默認為0表示任意核推理
priority (int):當(dāng)前模型推理任務(wù)的優(yōu)先級,范圍[0~255],越大優(yōu)先級越高
'''

-------------------------------------------------------------------------------------------------------------------------------

其中,forward方法的input_tensor支持三種格式輸入:

poYBAGLUxLSAc49LAAEU1HRQngQ810.png

forward方法的返回值為模型推理結(jié)果,有如下兩種情況:

pYYBAGLUxLSAIOqJAADJF3iDWRc720.png

resizer模型指在模型轉(zhuǎn)換時input_source設(shè)置為“resizer”編譯生成的模型,相關(guān)配置方式可參考社區(qū)X3 用戶手冊。resizer模型推理時,hobot_dnn會先使用ROI從輸入數(shù)據(jù)中摳圖后resize到模型輸入大小再送入模型進行推理。
*目前resizer模式暫只支持單輸入的nv12/nv12_bt601模型。

1.2 pyDNNTensor

AI 算法輸入、輸出 tensor 類

-------------------------------------------------------------------------------------------------------------------------------

class hobot_dnn.pyeasy_dnn.pyDNNTensor
'''
Parameters:
1、properties (TensorProperties):tensor的屬性,詳細參見本文1.3節(jié)
2、buffer (numpy):tensor中的數(shù)據(jù),數(shù)據(jù)訪問方式同numpy
3、name (string):tensor的名稱
'''

-------------------------------------------------------------------------------------------------------------------------------

1.3 TensorProperties

AI 算法輸入/輸出 tensor 的屬性類

-------------------------------------------------------------------------------------------------------------------------------

class hobot_dnn.pyeasy_dnn.TensorProperties
'''
Parameters:
1、tensor_type (string):tensor的數(shù)據(jù)類型,如:NV12、BGR、float32等
2、dtype (string):數(shù)據(jù)的存儲類型,同numpy數(shù)據(jù)類型,如:int8、uint8、float32等
3、layout (string):數(shù)據(jù)排布格式,NHWC或者NCHW
4、shape (tuple):數(shù)據(jù)的shape信息,例如:(1,3,224,224)
'''

-------------------------------------------------------------------------------------------------------------------------------

1.4 load

load接口用于加載模型

-------------------------------------------------------------------------------------------------------------------------------

hobot_dnn.pyeasy_dnn.load(model_file)
'''
接口支持兩種模型加載方式:
1、輸入模型的文件路徑,加載單個模型,或者單個pack模型
model_file = "/userdata/single_model.bin"
models = hobot_dnn.pyeasy_dnn.load(model_file)
2、輸入模型的文件列表,加載多個模型
model_file = ["model1.bin", "model2.bin"]
models = hobot_dnn.pyeasy_dnn.load(model_file)
接口返回hobot_dnn.pyeasy_dnn.Model類型的tuple列表
'''

-------------------------------------------------------------------------------------------------------------------------------

2 快速上手示例

X3派配套AI推理示例默認安裝在/app/ai_inference目錄下,包含如下示例:

-------------------------------------------------------------------------------------------------------------------------------

|-- 01_basic_sample # 從本地讀取圖片并完成mobilenetv1分類模型推理
|-- 02_usb_camera_sample # 從USB camera獲取視頻數(shù)據(jù)并完成FCOS檢測模型推理
|-- 03_mipi_camera_sample # 從MIPI camera獲取視頻數(shù)據(jù)并完成FCOS檢測模型推理
|-- 05_web_display_camera_sample # 基于MIPI Camera的FCOS目標(biāo)檢測及web端展示
|-- 06_yolov3_sample # 從本地讀取圖片并完成Yolov3檢測模型推理
|-- 07_yolov5_sample # 從本地讀取圖片并完成Yolov5檢測模型推理
`-- models

-------------------------------------------------------------------------------------------------------------------------------

本節(jié)將以01_basic_sample為例,為大家展示如何使用hobot_dnn完成模型推理。運行以下示例您需要準備編譯好的混合異構(gòu)模型mobilenetv1_224x224_nv12.bin(存放于/app/ai_inference/models路徑下),以及一張圖片zebra_cls.jpg(存放于01_basic_sample文件夾下)。

-------------------------------------------------------------------------------------------------------------------------------

from hobot_dnn import pyeasy_dnn as dnn
import numpy as np
import cv2

# 查看模型輸入輸出節(jié)點的信息
def print_properties(pro):
print("tensor type:", pro.tensor_type)
print("data type:", pro.dtype)
print("layout:", pro.layout)
print("shape:", pro.shape)

# 依據(jù)模型input_type_rt決定是否需要進行數(shù)據(jù)格式轉(zhuǎn)換(本實例所用模型為nv12輸入)
def bgr2nv12_opencv(image):
height, width = image.shape[0], image.shape[1]
area = height * width
yuv420p = cv2.cvtColor(image, cv2.COLOR_BGR2YUV_I420).reshape((area * 3 // 2,))
y = yuv420p[:area]
uv_planar = yuv420p[area:].reshape((2, area // 4))
uv_packed = uv_planar.transpose((1, 0)).reshape((area // 2,))

nv12 = np.zeros_like(yuv420p)
nv12[:height * width] = y
nv12[height * width:] = uv_packed
return nv12

# 1.加載模型
models = dnn.load('../models/mobilenetv1_224x224_nv12.bin')

# 2.查看模型輸入輸出節(jié)點的信息
for input in models[0].inputs:
print_properties(input.properties)
for output in models[0].outputs:
print_properties(output.properties)

# 3.準備輸入數(shù)據(jù)
# 打開圖片
img_file = cv2.imread('./zebra_cls.jpg')
# 把圖片縮放到模型的輸入尺寸
h, w = models[0].inputs[0].properties.shape[2], models[0].inputs[0].properties.shape[3]
resized_data = cv2.resize(img_file, (w, h), interpolation=cv2.INTER_AREA)
nv12_data = bgr2nv12_opencv(resized_data)

# 4.模型推理
outputs = models[0].forward(nv12_data)

# 5.后處理
np.argmax(outputs[0].buffer)
print("cls id: %d Confidence: %f" % (np.argmax(outputs[0].buffer), outputs[0].buffer[0][np.argmax(outputs[0].buffer)]))

-------------------------------------------------------------------------------------------------------------------------------

運行上述示例,即可在終端查看到如下信息:

poYBAGLUxLiAW8JhAAZI3C0maJw059.png

本文轉(zhuǎn)自地平線開發(fā)者社區(qū)

原作者:顏值即正義

原鏈接:https://developer.horizon.ai/forumDetail/98129467158916308

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

    關(guān)注

    1817

    文章

    50094

    瀏覽量

    265302
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    半年參與3萬輛寶馬X3生產(chǎn),人形機器人“進廠打工”真成了

    了其人形機器人“進廠打工”的最新成果。 ? Figure 02:半年參與3萬輛寶馬X3生產(chǎn),進入退役階段 ? 根據(jù)Figure AI的說法,在過去的六個月內(nèi),其第二代人形機器人Figure 02已經(jīng)在寶馬集團斯帕坦堡工廠參與生產(chǎn)
    的頭像 發(fā)表于 11-24 08:25 ?7954次閱讀
    半年參與<b class='flag-5'>3</b>萬輛寶馬<b class='flag-5'>X3</b>生產(chǎn),人形機器人“進廠打工”真成了

    華為破解HBM依賴!AI推理黑科技UCM上線,9月正式開源

    8月12日,在2025金融AI推理應(yīng)用落地與發(fā)展論壇上,華為公司副總裁、數(shù)據(jù)存儲產(chǎn)品線總裁周越峰宣布,華為此次和銀聯(lián)聯(lián)合創(chuàng)新,推出AI推理創(chuàng)新技術(shù)UCM(
    的頭像 發(fā)表于 08-13 08:58 ?1.1w次閱讀
    華為破解HBM依賴!<b class='flag-5'>AI</b><b class='flag-5'>推理</b>黑科技UCM上線,9月正式開源

    樹莓5還是香橙5 Pro?兩款熱門開發(fā)板的詳細對比

    ,不過會增加額外成本和硬件占用。 2)香橙5 Pro :RK3588芯片內(nèi)部集成了最高可達6TOPS算力的NPU(神經(jīng)網(wǎng)絡(luò)處理單元)。這意味著無需額外硬件,就能直接加速一些輕量級的AI推理任務(wù),如圖
    發(fā)表于 03-04 19:29

    Banana Pi 開源社區(qū)聯(lián)合進迭時空發(fā)布最新RISC-V芯片K3開發(fā)套件:BPI-SM10(K3-CoM260)

    BPI-SM10 (K3-CoM260) 產(chǎn)品介紹 []() 香蕉 BPI-SM10(K3-CoM260)可提供高達60 Tops的通用AI人工智能計算能力,可流暢運行300億(30
    發(fā)表于 01-30 18:38

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)2026版

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3)2026版 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 Fibo AI Stack模型轉(zhuǎn)化指南 27分19秒 https
    發(fā)表于 01-15 10:31

    應(yīng)對端側(cè)AI算力、內(nèi)存、功耗“三堵墻”困境,安謀科技Arm China “周易”X3給出技術(shù)錦囊

    AI大模型正加速從云端向邊緣與端側(cè)滲透,然而,算力、內(nèi)存、功耗等卻成了制約其規(guī)?;涞氐摹案邏Α薄?b class='flag-5'>AI計算而生的神經(jīng)網(wǎng)絡(luò)處理器(NPU),成為破墻關(guān)鍵。安謀科技Arm China“周易”X3
    的頭像 發(fā)表于 12-18 13:45 ?402次閱讀
    應(yīng)對端側(cè)<b class='flag-5'>AI</b>算力、內(nèi)存、功耗“三堵墻”困境,安謀科技Arm China “周易”<b class='flag-5'>X3</b>給出技術(shù)錦囊

    安謀發(fā)布“周易”X3 NPU,破局AI算力,智繪未來藍圖

    2025年11月13日,國內(nèi)領(lǐng)先的芯片IP設(shè)計與服務(wù)提供商安謀科技Arm China,正式揭開了新一代NPU IP“周易”X3的神秘面紗。通過其創(chuàng)新的專為大模型設(shè)計的DSP+DSA混合架構(gòu)與軟硬協(xié)同
    的頭像 發(fā)表于 11-17 11:47 ?323次閱讀
    安謀發(fā)布“周易”<b class='flag-5'>X3</b> NPU,破局<b class='flag-5'>AI</b>算力,智繪未來藍圖

    信息流全面轉(zhuǎn)向AI推薦!馬斯克稱X本周內(nèi)將發(fā)布AI算法更新

    X 平臺將于本周內(nèi)發(fā)布更新后的“新”算法,據(jù)其表示,新算法更新后,X 將實現(xiàn)完全的 AI 推薦。
    的頭像 發(fā)表于 10-21 10:19 ?411次閱讀
    信息流全面轉(zhuǎn)向<b class='flag-5'>AI</b>推薦!馬斯克稱<b class='flag-5'>X</b>本周內(nèi)將發(fā)布<b class='flag-5'>AI</b><b class='flag-5'>算法</b>更新

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+AI芯片到AGI芯片

    和探索;人類級別的理解能力;常識推理;現(xiàn)實世界的知識整合。 3、測試時計算 測試時計算(TTC)是指在模型推理階段利用額外的計算資源來提升泛化性能。 4、具身智能與滲透式AI 1)具身
    發(fā)表于 09-18 15:31

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+AI芯片的需求和挑戰(zhàn)

    ②Transformer引擎③NVLink Switch系統(tǒng)④機密計算⑤HBM FPGA: 架構(gòu)的主要特點:可重構(gòu)邏輯和路由,可以快速實現(xiàn)各種不同形式的神經(jīng)網(wǎng)絡(luò)加速。 ASIC: 介紹了幾種ASIC AI芯片
    發(fā)表于 09-12 16:07

    奇瑞風(fēng)云X3系列雙車上市

    8月16日,奇瑞汽車旗下風(fēng)云品牌全新方盒子產(chǎn)品序列——風(fēng)云X3與風(fēng)云X3 PLUS正式宣告上市。風(fēng)云X3系列基于iCAR 03系列煥新升級而來,在造型設(shè)計、動力性能、智能科技、功能配置及工藝品質(zhì)等維度實現(xiàn)全方位躍升。
    的頭像 發(fā)表于 08-19 11:48 ?1108次閱讀

    信而泰×DeepSeek:AI推理引擎驅(qū)動網(wǎng)絡(luò)智能診斷邁向 “自愈”時代

    故障)”的自動化推理鏈條。3.預(yù)測性防御:智能基線洞察,防患于未然l 基于先進的時序分解算法,為每個關(guān)鍵業(yè)務(wù)終端/鏈路動態(tài)構(gòu)建多維性能基線(吞吐量、時延、丟包率)。l 主動預(yù)警潛在風(fēng)險,如帶寬瓶頸
    發(fā)表于 07-16 15:29

    韻樂Vinal X3/X5卡拉OK音頻處理器調(diào)音軟件簡介

    韻樂Vinal X3/X5卡拉OK音頻處理器調(diào)音軟件軟件簡介韻樂Vinal X3/X5調(diào)音軟件具有音箱處理器功能的卡拉ok效果器每個功能部分都獨立可調(diào)且有相應(yīng)的PC界面可直觀調(diào)節(jié)易于操
    發(fā)表于 05-16 15:33 ?4次下載

    RDK X3 帶飛的智能護理系統(tǒng):讓機器人秒變貼心小棉襖

    濟往開來團隊帶著超燃黑科技來了!基于 RDK X3 開發(fā)的老年智能監(jiān)控系統(tǒng),跌倒秒報警、手勢一鍵呼叫、還能陪嘮嗑!最絕的是 開源代碼直接甩鏈接 ,技術(shù)黨狂喜!
    的頭像 發(fā)表于 05-09 21:53 ?755次閱讀
    RDK <b class='flag-5'>X3</b> 帶飛的智能護理系統(tǒng):讓機器人秒變貼心小棉襖

    AI端側(cè)部署開發(fā)(SC171開發(fā)套件V3

    /27894.html *附件:文檔:Fibo AI Stack模型轉(zhuǎn)化指南------VMware虛擬機環(huán)境操作.pdf 3 Fibo AI Stack模型推理指南 *附件:文
    發(fā)表于 04-16 18:30