国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

OpenVINO工具套件預處理API的概念及使用方法

英特爾物聯網 ? 來源:英特爾物聯網 ? 作者:楊雪鋒 ? 2022-06-09 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.1概述

在《基于OpenVINO 2022.1實現YOLOv5推理程序》中詳述了:

■ YOLOv5框架的安裝和如何導出YOLOv5.onnx模型

■ OpenVINO 2022.1的安裝以及如何編寫YOLOv5模型的推理程序

本文將介紹如何使用OpenVINO 2022.1的預處理API,進一步提升YOLOv5模型的推理計算性能。

1.2什么是預處理API函數?

OpenVINO 2022.1之前版本不提供OpenVINO Runtime原生的用于數據預處理的API函數1 ,如圖1-1所示,開發者必須通過第三方庫(例如:OpenCV)來實現數據預處理。

4f0aec8c-e7d4-11ec-ba43-dac502259ad0.png

圖1-1 OpenVINO Runtime預處理API

假設沒有預處理API,那么輸入數據的預處理操作只能放在CPU上實現,CPU完成數據預處理后,再將預處理后的數據傳給iGPU、VPU等AI加速計算設備進行推理計算。

有了預處理API后,就能將預處理操作集成到在模型執行圖中,這樣iGPU、VPU 或即將發布的Intel獨立顯卡都能進行數據預處理,無需依賴CPU,提高了執行效率,如圖1-2所示。

4f224c60-e7d4-11ec-ba43-dac502259ad0.png

圖1-2 預處理OpenCV vs OpenVINO

1.3數據預處理的典型操作

由于輸入數據的Shape、Precision等特征,與模型輸入張量的要求不一致,所以需要通過預處理,將輸入數據按照模型輸入張量的要求進行轉換,如圖1-3所示。

4f52176a-e7d4-11ec-ba43-dac502259ad0.png

圖1-3 輸入數據 vs 模型輸入張量

從圖1-3中可見,數據預處理的典型操作有:

■改變輸入數據的形狀:[720, 1280,3] → [1, 3, 640, 640]

■改變輸入數據的精度:U8 → f32

■ 改變輸入數據的顏色通道順序:BGR → RGB

■改變輸入數據的布局(layout):HWC → NCHW

■ 歸一化數據:減去均值(mean),除以標準差(std)

1.4數據預處理API的使用方法

對應數據預處理的典型操作,OpenVINO 工具套件預處理API提供了相應的類,方便開發者快速使用,其主要流程有6步2 ,如圖1-4所示,依次是:

1 實例化PrePostProcessor對象;

2 申明輸入數據的信息

3 指定模型的數據布局(layout)

4 設置模型輸出張量的信息

5 定義預處理的具體步驟

6 將預處理步驟集成到模型

4f7a257a-e7d4-11ec-ba43-dac502259ad0.png

圖1-4 使用預處理API的流程

本文將按照上述順序依次介紹。

1.4.1 實例化PrePostProcessor對象

實例化PrePostProcessor對象的Python代碼,如代碼清單1-1所示。

代碼清單1-1 實例化PrePostProcessor對象

4f8b9cec-e7d4-11ec-ba43-dac502259ad0.png

1.4.2 申明輸入數據的信息

申明輸入數據的信息的Python代碼,如代碼清單1-2所示。

代碼清單1-2 申明輸入數據的信息

4fa39ef0-e7d4-11ec-ba43-dac502259ad0.png

1.4.3 指定模型的數據布局(layout)

指定模型的數據布局(layout) 的Python代碼,如代碼清單1-3所示。

代碼清單1-3 指定模型的數據布局(layout)

4fc1fa6c-e7d4-11ec-ba43-dac502259ad0.png

1.4.4 設置模型輸出張量的信息

設置模型輸出張量的信息的Python代碼,如代碼清單1-4所示。

代碼清單1-4 設置模型輸出張量的信息

4fdccd38-e7d4-11ec-ba43-dac502259ad0.png

1.4.5 定義預處理的具體步驟

定義預處理的具體步驟的Python代碼,如代碼清單1-5所示。

代碼清單1-5 定義預處理的具體步驟

4fef0b1a-e7d4-11ec-ba43-dac502259ad0.png

50002544-e7d4-11ec-ba43-dac502259ad0.png

1.4.6 將預處理步驟集成到模型

將預處理步驟集成到模型的Python代碼,如代碼清單1-6所示。

代碼清單1-6 將預處理步驟集成到模型

502210f0-e7d4-11ec-ba43-dac502259ad0.png

1.4.7 將集成了預處理步驟的模型導出

使用serialize()函數,可以將集成了預處理步驟的模型導出,方便后續調用,如代碼清單1-7所示。

代碼清單1-7 導出包含預處理步驟的模型

503df586-e7d4-11ec-ba43-dac502259ad0.png

使用Netron打開導出模型,可以看到預處理步驟已經集成到執行圖中,如圖1-5所示。

50524f54-e7d4-11ec-ba43-dac502259ad0.png

圖1-5 預處理集成到執行圖中

導出集成預處理模型的完整源代碼:

1.5完整范例代碼和測試結果

本文隨附使用OpenVINO 2022.1預處理API實現YOLOv5s推理程序的完整源代碼,參見:https://gitee.com/ppov-nuc/yolov5_infer/blob/main/infer_with_openvino_preprocess.py。

表1-1 使用OpenVINO 2022.1預處理API和

使用OpenCV實現預處理的性能對比

操作系統:Windows10;Python版本:3.8;OpenVINO版本:2022.1

模型:yolov5s.onnx

50864836-e7d4-11ec-ba43-dac502259ad0.png

執行命令, 將yolov5s.onnx轉換為FP16精度的yolov5s.xml后

mo --input_model yolov5s.onnx --data_type FP16

操作系統:Windows10;Python版本:3.8;OpenVINO版本:2022.1

模型:yolov5s.xml @ FP16

50a22038-e7d4-11ec-ba43-dac502259ad0.png

1.6總結

本文完整介紹了什么是OpenVINO工具套件預處理API和為什么推薦使用預處理API將預處理操作集成到模型執行圖中,然后詳細介紹了使用步驟并提供了完整范例源代碼。

通過運行源代碼,可以看到,使用了OpenVINO 工具套件預處理API,使輸入數據預處理操作不再依賴CPU,可以由推理設備(如GPU/VPU)完成,提高了推理計算效率,減少了運行時間。

原文標題:使用OpenVINO? 預處理API進一步提升YOLOv5推理性能 | 開發者實戰

文章出處:【微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

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

    關注

    61

    文章

    10301

    瀏覽量

    180453
  • API
    API
    +關注

    關注

    2

    文章

    2371

    瀏覽量

    66775
  • 預處理
    +關注

    關注

    0

    文章

    33

    瀏覽量

    10814

原文標題:使用OpenVINO? 預處理API進一步提升YOLOv5推理性能 | 開發者實戰

文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    愛回收平臺價格查詢API接口詳解

    ? 在愛回收平臺上,用戶經常需要根據品牌ID和項目ID查詢相關商品或服務的價格。為此,平臺提供了一個簡潔高效的API接口,幫助開發者或第三方應用實現自動化價格查詢。本文將詳細介紹這個API使用方法
    的頭像 發表于 11-19 14:57 ?574次閱讀
    愛回收平臺價格查詢<b class='flag-5'>API</b>接口詳解

    教你如何使用API

    一、了解API API(Application Programming Interface)即應用程序編程接口,是一種使不同的應用程序能共享數據和功能的軟件工具API可以通過網絡、軟
    的頭像 發表于 11-09 17:48 ?1306次閱讀

    教你如何使用API接口獲取數據!

    一、了解API API(Application Programming Interface)即應用程序編程接口,是一種使不同的應用程序能共享數據和功能的軟件工具API可以通過網絡、軟
    的頭像 發表于 11-03 09:14 ?588次閱讀

    全網最全面介紹拼多多API接口指南

    ? ?在電商領域,拼多多作為領先的平臺,提供了豐富的API接口,幫助開發者實現商品管理、訂單處理、用戶交互等功能。本文將從零開始,全面介紹拼多多API使用方法、核心接口、調用示例和注
    的頭像 發表于 10-29 16:07 ?953次閱讀
    全網最全面介紹拼多多<b class='flag-5'>API</b>接口指南

    鋰電池制造 | 電芯預處理工藝的步驟詳解

    電芯預處理是鋰電池包制造的首要工序,無論是新能源汽車的續航穩定性,還是儲能系統的循環壽命,其根基都可追溯至預處理工序對電芯一致性的把控,其核心在于通過系統檢測與篩選消除量產電芯的性能差異,為后續組裝
    的頭像 發表于 08-11 14:53 ?1534次閱讀
    鋰電池制造 | 電芯<b class='flag-5'>預處理</b>工藝的步驟詳解

    電商API日志分析的實用工具

    、優化用戶體驗、檢測異常活動,并提升整體業務效率。然而,海量日志數據的管理和分析需要高效的工具支持。本文將介紹幾種實用的電商API日志分析工具,并逐步解釋其應用方法,幫助您快速上手。
    的頭像 發表于 07-23 15:50 ?654次閱讀
    電商<b class='flag-5'>API</b>日志分析的實用<b class='flag-5'>工具</b>

    無法將Tensorflow Lite模型轉換為OpenVINO?格式怎么處理

    將 Tensorflow Lite 模型轉換為 OpenVINO? 格式。 遇到的錯誤: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostP
    發表于 06-25 08:27

    請問如何優化OpenVINO?工具套件中的內存使用?

    運行OpenVINO?推斷時找不到優化內存使用情況的方法
    發表于 06-25 06:56

    無法將Openvino? 2025.0與onnx運行時Openvino? 執行提供程序 1.16.2 結合使用,怎么處理

    使用OpenVINO?與英特爾 i5-8500 CPU 和超核處理器 630 iGPU 一起部署模型。 使用了 Microsoft.ML.OnnxRuntime.OpenVino
    發表于 06-24 06:31

    odf光纖配線架使用方法

    ODF光纖配線架的使用方法主要包括以下幾個步驟: 一、準備工作 工具和材料準備:準備好熔接機、光纖切割刀、光纖剝皮鉗、光纖清潔工具(如清潔筆、無塵布)、光纖跳線、光纖熔接套管、扎帶等工具
    的頭像 發表于 05-22 10:11 ?1543次閱讀

    Intel OpenVINO? Day0 實現阿里通義 Qwen3 快速部署

    本文將以 Qwen3-8B 為例,介紹如何利用 OpenVINO 的 Python API 在英特爾平臺(GPU, NPU)Qwen3 系列模型。
    的頭像 發表于 05-11 11:36 ?1717次閱讀
    Intel <b class='flag-5'>OpenVINO</b>? Day0 實現阿里通義 Qwen3 快速部署

    OpenVINO C#如何運行YOLO11實例分割模型

    代碼是我在OpenVINO-CSharp-API作者開源的YOLOv8對象檢測的代碼基礎上修改而成。
    的頭像 發表于 04-29 09:30 ?2048次閱讀
    <b class='flag-5'>OpenVINO</b> C#如何運行YOLO11實例分割模型

    如何在Ollama中使用OpenVINO后端

    Ollama 和 OpenVINO 的結合為大型語言模型(LLM)的管理和推理提供了強大的雙引擎驅動。Ollama 提供了極簡的模型管理工具鏈,而 OpenVINO 則通過 Intel 硬件(CPU
    的頭像 發表于 04-14 10:22 ?1538次閱讀

    FPGA Verilog HDL語法之編譯預處理

    Verilog HDL語言和C語言一樣也提供了編譯預處理的功能。“編譯預處理”是Verilog HDL編譯系統的一個組成部分。Verilog HDL語言允許在程序中使用幾種特殊的命令(它們不是一般
    的頭像 發表于 03-27 13:30 ?1437次閱讀
    FPGA Verilog HDL語法之編譯<b class='flag-5'>預處理</b>

    在Visual Studio中使用OpenVINO? C API時無法讀取網絡怎么解決?

    使用 OpenVINO C API 加載中間表示 (IR),方法是引用Hello 分類 C 樣本。 使用ie_infer_request_set_blob 時收到的狀態為 -1(一般錯誤)。
    發表于 03-07 07:01