chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

1.1概述

在《基于OpenVINO 2022.1實(shí)現(xiàn)YOLOv5推理程序》中詳述了:

■ YOLOv5框架的安裝和如何導(dǎo)出YOLOv5.onnx模型

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

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

1.2什么是預(yù)處理API函數(shù)?

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

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

圖1-1 OpenVINO Runtime預(yù)處理API

假設(shè)沒有預(yù)處理API,那么輸入數(shù)據(jù)的預(yù)處理操作只能放在CPU上實(shí)現(xiàn),CPU完成數(shù)據(jù)預(yù)處理后,再將預(yù)處理后的數(shù)據(jù)傳給iGPU、VPU等AI加速計(jì)算設(shè)備進(jìn)行推理計(jì)算。

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

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

圖1-2 預(yù)處理OpenCV vs OpenVINO

1.3數(shù)據(jù)預(yù)處理的典型操作

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

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

圖1-3 輸入數(shù)據(jù) vs 模型輸入張量

從圖1-3中可見,數(shù)據(jù)預(yù)處理的典型操作有:

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

■改變輸入數(shù)據(jù)的精度:U8 → f32

■ 改變輸入數(shù)據(jù)的顏色通道順序:BGR → RGB

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

■ 歸一化數(shù)據(jù):減去均值(mean),除以標(biāo)準(zhǔn)差(std)

1.4數(shù)據(jù)預(yù)處理API的使用方法

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

1 實(shí)例化PrePostProcessor對(duì)象;

2 申明輸入數(shù)據(jù)的信息

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

4 設(shè)置模型輸出張量的信息

5 定義預(yù)處理的具體步驟

6 將預(yù)處理步驟集成到模型

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

圖1-4 使用預(yù)處理API的流程

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

1.4.1 實(shí)例化PrePostProcessor對(duì)象

實(shí)例化PrePostProcessor對(duì)象的Python代碼,如代碼清單1-1所示。

代碼清單1-1 實(shí)例化PrePostProcessor對(duì)象

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

1.4.2 申明輸入數(shù)據(jù)的信息

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

代碼清單1-2 申明輸入數(shù)據(jù)的信息

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

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

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

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

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

1.4.4 設(shè)置模型輸出張量的信息

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

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

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

1.4.5 定義預(yù)處理的具體步驟

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

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

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

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

1.4.6 將預(yù)處理步驟集成到模型

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

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

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

1.4.7 將集成了預(yù)處理步驟的模型導(dǎo)出

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

代碼清單1-7 導(dǎo)出包含預(yù)處理步驟的模型

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

使用Netron打開導(dǎo)出模型,可以看到預(yù)處理步驟已經(jīng)集成到執(zhí)行圖中,如圖1-5所示。

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

圖1-5 預(yù)處理集成到執(zhí)行圖中

導(dǎo)出集成預(yù)處理模型的完整源代碼:

1.5完整范例代碼和測試結(jié)果

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

表1-1 使用OpenVINO 2022.1預(yù)處理API和

使用OpenCV實(shí)現(xiàn)預(yù)處理的性能對(duì)比

操作系統(tǒng):Windows10;Python版本:3.8;OpenVINO版本:2022.1

模型:yolov5s.onnx

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

執(zhí)行命令, 將yolov5s.onnx轉(zhuǎn)換為FP16精度的yolov5s.xml后

mo --input_model yolov5s.onnx --data_type FP16

操作系統(tǒng):Windows10;Python版本:3.8;OpenVINO版本:2022.1

模型:yolov5s.xml @ FP16

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

1.6總結(jié)

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

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

原文標(biāo)題:使用OpenVINO? 預(yù)處理API進(jìn)一步提升YOLOv5推理性能 | 開發(fā)者實(shí)戰(zhàn)

文章出處:【微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    61

    文章

    10272

    瀏覽量

    179163
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2131

    瀏覽量

    66174
  • 預(yù)處理
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    10755

原文標(biāo)題:使用OpenVINO? 預(yù)處理API進(jìn)一步提升YOLOv5推理性能 | 開發(fā)者實(shí)戰(zhàn)

文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何部署OpenVINO?工具套件應(yīng)用程序?

    編寫代碼并測試 OpenVINO? 工具套件應(yīng)用程序后,必須將應(yīng)用程序安裝或部署到生產(chǎn)環(huán)境中的目標(biāo)設(shè)備。 OpenVINO?部署管理器指南包含有關(guān)如何輕松使用部署管理器將應(yīng)用程序打包并
    發(fā)表于 03-06 08:23

    構(gòu)建開源OpenVINO?工具套件后,模型優(yōu)化器位于何處呢?

    構(gòu)建開源OpenVINO?工具套件后,模型優(yōu)化器位于何處?
    發(fā)表于 03-06 08:18

    是否有用于OpenVINO?工具套件的配置文件工具呢?

    是否有用于OpenVINO?工具套件的配置文件工具?
    發(fā)表于 03-06 07:29

    如何確定在OpenVINO? Toolkit中預(yù)處理支持的輸入顏色格式?

    無法確定在 OpenVINO? Toolkit 中預(yù)處理支持的輸入顏色格式。
    發(fā)表于 03-06 07:28

    在不安裝OpenCV的情況下是否可以使用OpenVINO?工具套件?

    無法在不安裝 OpenCV 的情況下確定是否可以使用OpenVINO?工具套件
    發(fā)表于 03-06 07:12

    怎么卸載具有FreeLibrary功能OpenVINO?工具套件DLL?

    無法卸載具有 FreeLibrary* 功能OpenVINO?工具套件 DLL
    發(fā)表于 03-06 07:11

    請(qǐng)問OpenVINO?工具套件中的驗(yàn)證應(yīng)用程序是什么?

    OpenVINO?工具套件中的驗(yàn)證應(yīng)用程序是什么?
    發(fā)表于 03-06 06:54

    使用工具套件2020.2從ncappzoo運(yùn)行模型和演示OpenVINO?報(bào)錯(cuò)怎么解決?

    使用工具套件 2020.2 從 ncappzoo 運(yùn)行模型和演示OpenVINO?報(bào)錯(cuò)
    發(fā)表于 03-05 10:22

    OpenVINO?工具套件插件對(duì)YOLOv5s模型和scatterUpate層的支持范圍是什么?

    OpenVINO?工具套件插件對(duì)YOLOv5s模型和scatterUpate層的支持范圍是什么?
    發(fā)表于 03-05 10:16

    如何修復(fù)IR版本與OpenVINO?工具套件版本不匹配問題?

    執(zhí)行 Raspberry Pi 4 OpenVINO?工具套件示例來自RPI4_NCS2并遇到以下錯(cuò)誤: DeprecationWarning:InferRequest 的“輸出”屬性被棄用。相反
    發(fā)表于 03-05 09:04

    已安裝OpenVINO?工具套件,無法運(yùn)行是怎么回事?

    已安裝OpenVINO?工具套件 無法運(yùn)行行 demo_squeezenet_download_convert_run.bat 和 demo_benchmark.bat 演示。 收到的錯(cuò)誤
    發(fā)表于 03-05 07:43

    將英特爾?獨(dú)立顯卡與OpenVINO?工具套件結(jié)合使用時(shí),無法運(yùn)行推理怎么解決?

    使用英特爾?獨(dú)立顯卡與OpenVINO?工具套件時(shí)無法運(yùn)行推理
    發(fā)表于 03-05 06:56

    Sapphire Rapids與OpenVINO?工具套件是否兼容?

    無法確定 Sapphire Rapids 與 OpenVINO? 工具套件的兼容性
    發(fā)表于 03-05 06:55

    如何下載 OpenVINO? 工具套件

    需要下載用于開發(fā)工作的 OpenVINO? 工具套件。
    發(fā)表于 03-05 06:49

    為什么Caffe模型可以直接與OpenVINO?工具套件推斷引擎API一起使用,而無法轉(zhuǎn)換為中間表示 (IR)?

    推斷 Caffe 模型直接基于 英特爾? 神經(jīng)電腦棒 2 (英特爾? NCS2)。 無法確定為什么 Caffe 模型可以直接與OpenVINO?工具套件推斷引擎 API 一起使用
    發(fā)表于 03-05 06:31