色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

X3派AI算法推理快速入門

地瓜機器人 ? 2022-07-18 14:24 ? 次閱讀

0 環境安裝

在進行AI算法開發之前請參考X3派用戶手冊完成系統安裝及配置,此時X3派上已默認安裝好了地平線Python版本AI推理引擎(hobot_dnn)及其配套依賴環境。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推理引擎的更新可參考如下方式(出于系統安全、穩定性的考慮,建議統一通過APT命令更新X3派板級開發包):

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

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

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

1 推理接口介紹

1.1 Model

AI算法模型類,描述模型的名稱,輸入、輸出數據屬性信息,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):模型推理函數接口,輸入模型推理所必要的參數,返回模型推理結果
parameters:
input_tensor:輸入數據
core_id (int):模型推理的core id,可為0,1,2,默認為0表示任意核推理
priority (int):當前模型推理任務的優先級,范圍[0~255],越大優先級越高
'''

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

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

poYBAGLUxLSAc49LAAEU1HRQngQ810.png

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

pYYBAGLUxLSAIOqJAADJF3iDWRc720.png

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

1.2 pyDNNTensor

AI 算法輸入、輸出 tensor 類

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

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

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

1.3 TensorProperties

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

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

class hobot_dnn.pyeasy_dnn.TensorProperties
'''
Parameters:
1、tensor_type (string):tensor的數據類型,如:NV12、BGR、float32等
2、dtype (string):數據的存儲類型,同numpy數據類型,如:int8、uint8、float32等
3、layout (string):數據排布格式,NHWC或者NCHW
4、shape (tuple):數據的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獲取視頻數據并完成FCOS檢測模型推理
|-- 03_mipi_camera_sample # 從MIPI camera獲取視頻數據并完成FCOS檢測模型推理
|-- 05_web_display_camera_sample # 基于MIPI Camera的FCOS目標檢測及web端展示
|-- 06_yolov3_sample # 從本地讀取圖片并完成Yolov3檢測模型推理
|-- 07_yolov5_sample # 從本地讀取圖片并完成Yolov5檢測模型推理
`-- models

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

本節將以01_basic_sample為例,為大家展示如何使用hobot_dnn完成模型推理。運行以下示例您需要準備編譯好的混合異構模型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

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

# 依據模型input_type_rt決定是否需要進行數據格式轉換(本實例所用模型為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.查看模型輸入輸出節點的信息
for input in models[0].inputs:
print_properties(input.properties)
for output in models[0].outputs:
print_properties(output.properties)

# 3.準備輸入數據
# 打開圖片
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

本文轉自地平線開發者社區

原作者:顏值即正義

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

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

    關注

    1791

    文章

    47183

    瀏覽量

    238247
收藏 人收藏

    評論

    相關推薦

    TMS320C3x DSP入門套件用戶指南

    電子發燒友網站提供《TMS320C3x DSP入門套件用戶指南.pdf》資料免費下載
    發表于 10-31 09:53 ?0次下載
    TMS320C<b class='flag-5'>3x</b> DSP<b class='flag-5'>入門</b>套件用戶指南

    FPGA和ASIC在大模型推理加速中的應用

    隨著現在AI快速發展,使用FPGA和ASIC進行推理加速的研究也越來越多,從目前的市場來說,有些公司已經有了專門做推理的ASIC,像Groq的LPU,專門針對大語言模型的
    的頭像 發表于 10-29 14:12 ?389次閱讀
    FPGA和ASIC在大模型<b class='flag-5'>推理</b>加速中的應用

    李開復:中國擅長打造經濟實惠的AI推理引擎

    10月22日上午,零一萬物公司的創始人兼首席執行官李開復在與外媒的交流中透露,其公司旗下的Yi-Lightning(閃電模型)在推理成本上已實現了顯著優勢,比OpenAI的GPT-4o模型低了31倍。他強調,中國擅長打造經濟實惠的AI
    的頭像 發表于 10-22 16:54 ?353次閱讀

    TMS320LF240x DSP的C語言和匯編代碼快速入門

    電子發燒友網站提供《TMS320LF240x DSP的C語言和匯編代碼快速入門.pdf》資料免費下載
    發表于 10-18 10:14 ?0次下載
    TMS320LF240<b class='flag-5'>x</b> DSP的C語言和匯編代碼<b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    模擬DAC38RF8x輸入/輸出緩沖器信息的快速入門方法

    電子發燒友網站提供《模擬DAC38RF8x輸入/輸出緩沖器信息的快速入門方法.pdf》資料免費下載
    發表于 10-09 11:21 ?0次下載
    模擬DAC38RF8<b class='flag-5'>x</b>輸入/輸出緩沖器信息的<b class='flag-5'>快速</b><b class='flag-5'>入門</b>方法

    AMD助力HyperAccel開發全新AI推理服務器

    提高成本效率。HyperAccel 針對新興的生成式 AI 應用提供超級加速的芯片 IP/解決方案。HyperAccel 已經打造出一個快速、高效且低成本的推理系統,加速了基于轉換器的大型語言模型
    的頭像 發表于 09-18 09:37 ?356次閱讀
    AMD助力HyperAccel開發全新<b class='flag-5'>AI</b><b class='flag-5'>推理</b>服務器

    AM263x控制卡快速入門指南

    電子發燒友網站提供《AM263x控制卡快速入門指南.pdf》資料免費下載
    發表于 08-27 10:35 ?0次下載
    AM263<b class='flag-5'>x</b>控制卡<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    如何基于OrangePi?AIpro開發AI推理應用

    。通過昇騰CANN軟件棧的AI編程接口,可滿足大多數AI算法原型驗證、推理應用開發的需求。AscendCL(AscendComputingLanguage,昇騰計算
    的頭像 發表于 06-04 14:23 ?523次閱讀
    如何基于OrangePi?AIpro開發<b class='flag-5'>AI</b><b class='flag-5'>推理</b>應用

    CW32快速開發入門

    CW32快速開發入門
    的頭像 發表于 04-24 18:56 ?1949次閱讀
    CW32<b class='flag-5'>快速</b>開發<b class='flag-5'>入門</b>

    開發者手機 AI - 目標識別 demo

    識別demo: JS實現UI界面的功能; Native接口及實現主要為JS提供接口進行AI推理。通過Native方式完成推理的前處理、推理以及后處理,這里通過調用opencv、Mind
    發表于 04-11 16:14

    AMD EPYC處理器:AI推理能力究竟有多強?

    如今,AMD EPYC處理器已經成為最常被選擇用于AI推理的服務器平臺,尤其是第四代Genoa EPYC 9004系列,執行AI推理的能力又得到了巨大的飛躍。
    發表于 03-15 09:47 ?479次閱讀

    AI推理框架軟件ONNX Runtime正式支持龍架構

    近日,知名AI推理框架開源社區ONNX Runtime正式發布支持龍架構的版本1.17.0。
    的頭像 發表于 03-12 12:23 ?570次閱讀
    <b class='flag-5'>AI</b><b class='flag-5'>推理</b>框架軟件ONNX Runtime正式支持龍架構

    寶馬(中國)召回部分進口X3、2系和X4車型

    此次型號覆蓋的具體數量包括:2023年8月29日生產的進口X3車型1輛,2023年9月21日至9月25日生產的進口2系車型2輛,以及同一期間生產的進口X4車型48輛。
    的頭像 發表于 03-01 14:56 ?806次閱讀

    allegro快速入門教程

    電子發燒友網站提供《allegro快速入門教程.pdf》資料免費下載
    發表于 02-29 09:32 ?70次下載

    科大訊飛推出AI掃拖機器人X3:主打“指哪掃哪”

    機器人AI
    北京中科同志科技股份有限公司
    發布于 :2024年02月22日 10:11:12
    主站蜘蛛池模板: 日韩一区二区三区精品| 国产精品日本一区二区在线播放| 一攻多受h嗯啊巨肉bl巨污| 精品久久久噜噜噜久久久app| 国产在线观看免费| 久久精品中文闷骚内射| 男女床上黄色| 色爱区综合小说| 亚洲精品不卡视频| 同桌上课把奶露出来给我玩| 羞羞影院男女爽爽影院尤物| 一级毛片免费下载| Chineseman瘦老头77| 国产精品黄色大片| 久久www99re在线播放| 国产手机在线视频| 久久国产主播福利在线| 欧美九十老太另类| 小黄飞二人转| 3D动漫网站HOXXXxes| 大咪咪dvd| 精品国产人妻国语| 女人爽到高潮嗷嗷叫视频| 美女扒开尿口直播| 色欲久久精品AV无码| 野花影院手机在线观看 | georgielyall装修工| 国产亚洲精品第一区香蕉| 91女神娇喘| 在线亚洲黄色| 亚洲无线观看国产| brazzers欧美孕交| 国内精品一级毛片免费看| 男人把女人桶到高潮嗷嗷叫 | 黑人性xxx| 欧洲最大无人区免费高清完整版| 亚洲AV精品无码喷水直播间| 99re 这里只有精品| 国产一区二区内射最近更新| 欧美高清video mr.sexo| 亚洲精品国产高清不卡在线|