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

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

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

3天內不再提示

AUTO插件和自動批處理的最佳實踐

OpenCV學堂 ? 來源:英特爾物聯網 ? 作者:英特爾物聯網 ? 2022-06-24 10:06 ? 次閱讀

1.1 概述

OpenVINO 2022.1是自OpenVINO工具套件2018年首次發布以來最大的更新之一,參見《OpenVINO 迎來迄今為止最重大更新,2022.1新特性搶先看!》。在眾多新特性中,AUTO插件和自動批處理(Automatic-Batching)是最重要的新特性之一,它幫助開發者無需復雜的編程即可提高推理計算的性能和效率。

1.1.1 什么是AUTO插件?

AUTO插件1 ,全稱叫自動設備選擇(Automatic device selection),它是一個構建在CPU/GPU插件之上的虛擬插件,如圖1-1所示。在OpenVINO 文檔中,“設備(device)”是指用于推理計算的 Intel 處理器,它可以是受支持的CPU、GPU、VPU(視覺處理單元)或 GNA(高斯神經加速器協處理器)或這些設備的組合3 。

e09633e0-f301-11ec-ba43-dac502259ad0.png

圖1-1 OpenVINO Runtime支持的設備插件3

AUTO插件好處有:

■ 首先檢測運行時平臺上所有可用的計算設備,然后選擇最佳的一個計算設備進行推理計算,并根據深度學習模型和所選設備的特性以最佳配置使用它。

■使 GPU 實現更快的首次推理延遲:GPU 插件需要在開始推理之前在運行時進行在線模型編譯——可能需要 10 秒左右才能完成,具體取決于平臺性能和模型的復雜性。當選擇獨立或集成GPU時,“AUTO”插件開始會首先利用CPU進行推理,以隱藏此GPU模型編譯時間。

■使用簡單,開發者只需將compile_model()方法的device_name參數指定為“AUTO”即可,如圖1-2所示。

e0bb1fca-f301-11ec-ba43-dac502259ad0.png

圖1-2 指定AUTO插件

1.1.2 什么是自動批處理?

自動批處理(Automatic Batching)2 ,又叫自動批處理執行(Automatic Batching Execution),是OpenVINO Runtime支持的設備之一,如圖1-1所示。

一般來說,批尺寸(batch size) 越大的推理計算,推理效率和吞吐量就越好。自動批處理執行將用戶程序發出的多個異步推理請求組合起來,將它們視為多批次推理請求,并將批推理結果拆解后,返回給各推理請求。

自動批處理無需開發者手動指定。當compile_model()方法的config參數設置為{“PERFORMANCE_HINT”: ”THROUGHPUT”}時,OpenVINO Runtime會自動啟動自動批處理執行,如圖1-3所示,讓開發人員以最少的編碼工作即可享受計算設備利用率和吞吐量的提高。

e0d5d298-f301-11ec-ba43-dac502259ad0.png

圖1-3 自動啟動自動批處理執行

1.2 動手學AUTO插件的特性

讀書是學習,實踐也是學習,而且是更有效的學習。本文提供了完整的實驗代碼,供讀者一邊動手實踐,一邊學習總結。

Github地址: https://github.com/yas-sim/openvino-auto-feature-visualization

1.2.1 搭建實驗環境

第一步,克隆代碼倉到本地。

git clone https://github.com/yas-sim/openvino-auto-feature-visualization.git

第二步,在openvino-auto-feature-visualization路徑執行:

python -m pip install --upgrade pip

pip install -r requirements.txt

第三步,下載模型并完成轉換

omz_downloader --list models.txt

omz_converter --list models.txt

到此,實驗環境搭建完畢。實驗程序的所有配置和設置參數都硬編碼在源代碼中,您需要手動修改源代碼以更改測試配置,如圖1-4所示。

e0f240a4-f301-11ec-ba43-dac502259ad0.png

圖1-4 手動修改源代碼中的配置

1.2.2 AUTO插件自動切換計算設備

GPU插件需要在 GPU 上開始推理之前將IR模型編譯為 OpenCL 模型。這個模型編譯過程可能需要很長時間,例如 10 秒,會延遲應用程序開始推理,使得應用程序啟動時的用戶體驗不好。

為了隱藏這種 GPU 模型編譯延遲,AUTO插件將在 GPU 模型編譯進行時使用CPU執行推理任務;當GPU模型編譯完成后,AUTO插件會自動將推理計算設備從CPU切換到GPU,如圖1-5所示。

e108dbac-f301-11ec-ba43-dac502259ad0.png

圖1-5 AUTO插件自動切換計算設備

1.2.3 動手觀察自動切換計算設備的行為

AUTO插件會依據設備優先級1 : dGPU > iGPU > VPU > CPU, 來選擇最佳計算設備。當自動插件選擇 GPU 作為最佳設備時,會發生推理設備切換,以隱藏首次推理延遲。

請注意,設備切換前后的推理延遲不同;此外,推理延遲故障可能發生在設備切換的那一刻,如圖1-6所示。

請如圖1-6所示,設置auto-test-latency-graph.py配置參數為:

cfg['PERFORMANCE_HINT'] = ['THROUGHPUT', 'LATENCY'][0]

并運行命令:

python auto-test-latency-graph.py

同時打開Windows任務管理器,觀察CPU和iGPU的利用率。

e11adb04-f301-11ec-ba43-dac502259ad0.png

圖1-6 config={“PERFORMANE_HINT”:”THROUGPUT”}的執行行為

1.2.4 PERFORMANCE_HINT設置

如1.1.2節所述,AUTO插件的執行行為取決于compile_model()方法的config參數的PERFORMANCE_HINT設置,如表1-1所示:

表1-1 PERFORMANCE_HINT設置

e13ce636-f301-11ec-ba43-dac502259ad0.png

設置auto-test-latency-graph.py配置參數為:

cfg['PERFORMANCE_HINT'] = ['THROUGHPUT', 'LATENCY'][1]

并運行命令:

python auto-test-latency-graph.py

同時打開Windows任務管理器,觀察CPU和iGPU的利用率,運行結果如圖1-7所示。

e15161e2-f301-11ec-ba43-dac502259ad0.png

圖1-7 config={“PERFORMANE_HINT”:”LATENCY”}的執行行為

通過實驗,我們可以發現,根據不同的config參數設置,使得AUTO插件可以工作在不同的模式下:

■ 在Latency模式,不會自動啟動Auto Batching,執行設備切換后,GPU上的推理延遲很小,且不會抖動。

■在THROUGHPUT模式,自動啟動Auto Batching,執行設備切換后,GPU上的推理延遲較大,而且會抖動。

接下來,本文將討論Auto Batching對推理計算行為的影響。

1.3 動手學Auto Batching的特性

如1.1.2節所述,自動批處理執行將用戶程序發出的多個異步推理請求組合起來,將它們視為多批次推理請求,并將批推理結果拆解后,返回給各推理請求,如圖1-8所示。

e193fda4-f301-11ec-ba43-dac502259ad0.png

圖1-8 Auto Batching的執行過程

Auto Batching在收集到指定數量的異步推理請求或計時器超時(默認超時=1,000 毫秒)時啟動批推理計算(batch-inference),如圖1-9所示。

e1a10cf6-f301-11ec-ba43-dac502259ad0.png

圖1-9 啟動批推理計算

1.3.1 Auto Batching被禁止時

Auto Batching被禁止時,所有推理請求都是單獨被處理的。

請配置并運行auto-test.py。

Device: AUTO

Config: {'PERFORMANCE_HINT': 'LATENCY'}

niter: 20 , interval: 30 ms

OPTIMAL_NUMBER_OF_INFER_REQUESTS 1

Number of infer requests: 1

運行結果如圖1-10所示,可見每一個推理請求是被單獨處理的。

e1af22f0-f301-11ec-ba43-dac502259ad0.png

圖1-10 Auto Batching被禁止時的運行結果

1.3.2 Auto Batching被使能時

Auto Batching被使能時,異步推理請求將作為多批次推理請求進行綁定和處理。推理完成后,結果將分發給各個異步推理請求并返回。需要注意的是:批推理計算不保證異步推理請求的推理順序。

請配置并運行auto-test.py。

Device: GPU

Config: {'CACHE_DIR': './cache', 'PERFORMANCE_HINT': 'THROUGHPUT', 'ALLOW_AUTO_BATCHING': 'YES'}

niter: 200 , interval: 30 ms

OPTIMAL_NUMBER_OF_INFER_REQUESTS 64

Number of infer requests: 16

運行結果如圖1-11所示,可見每16個推理請求被組合成一個批次進行批推理計算,推理計算順序不被保證。

e1bf0756-f301-11ec-ba43-dac502259ad0.png

圖1-11 Auto Batching被使能時的運行結果

1.3.3 Auto Batching會導致推理延遲變長

由于較長的默認超時設置(默認timeout = 1,000ms),在低推理請求頻率情況下可能會引入較長的推理延遲。

由于Auto Batching將等待指定數量的推理請求進入或超時計時器超時,在低推理頻率的情況下,它無法在指定的超時時間內收集足夠的推理請求來啟動批推理計算,因此,提交的推理請求將被推遲,直到計時器超時,這將引入大于timeout設置的推理延遲。

為解決上述問題,用戶可以通過 AUTO_BATCH_TIMEOUT 配置參數指定超時時間,以盡量減少此影響。

請使用AutoBatching的默認timeout,運行auto-test.py。

Device: GPU

Config: {'CACHE_DIR': './cache', 'PERFORMANCE_HINT': 'THROUGHPUT'}

niter: 20, interval: 300 ms

OPTIMAL_NUMBER_OF_INFER_REQUESTS 64

Number of infer requests: 64

運行結果如圖1-12所示,由于每次都無法在timeout時間內收集到指定數量的推理請求,由此導致推理請求的延遲很高。

e1dc4758-f301-11ec-ba43-dac502259ad0.png

圖1-12 timeout=1000ms運行結果

請配置AutoBatching的timeout=100ms,然后運行auto-test.py。

Device: GPU

Config: {'CACHE_DIR': './cache', 'PERFORMANCE_HINT': 'THROUGHPUT', 'AUTO_BATCH_TIMEOUT': '100'}

niter: 20 , interval: 300 ms

OPTIMAL_NUMBER_OF_INFER_REQUESTS 64

Number of infer requests: 16

e1f47f08-f301-11ec-ba43-dac502259ad0.png

圖1-13 timeout=100ms運行結果

運行結果如圖1-13所示, timeout=100ms時間內,僅能收集到一個推理請求。

1.3.4 Auto Batching最佳實踐

綜上所述,Auto Batching的最佳編程實踐:

■ 要記住,默認情況下Auto Batching不會啟用。

■只有在以下情況時,Auto Batching才啟用:

{'PERFORMANCE_HINT': 'THROUGHPUT', 'ALLOW_AUTO_BATCHING': 'YES'}

■如果您的應用程序能夠以高頻率連續提交推理請求,請使用自動批處理。

■警告:如果您的應用間歇性地提交推理請求,則最后一個推理請求可能會出現意外的長延遲。

■如果推理節奏或頻率較低,即推理頻率遠低于AUTO_BATCH_TIMEOUT(默認為 1,000 毫秒),請勿開啟自動批處理。

■您可以使用AUTO_BATCH_TIMEOUT 參數更改自動批處理的超時設置,以最大限度地減少不需要的長延遲,參數值的單位是“ms”。

■如果您知道工作負載的最佳批處理大小,請使用PERFORMANCE_HINT_NUM_REQUESTS 指定適當的批處理數量,即 {'PERFORMANCE_HINT_NUM_REQUESTS':'4'}。同時,以GPU為例,AUTO插件會在后臺根據可以使用的內存,模型精度等計算出最佳批處理大小。

1.4 總結

本節給出AUTO 插件和Auto Batching的快速小結,如表1-2所示。

表1-2 AUTO插件和自動批處理執行快速小結表

e205742a-f301-11ec-ba43-dac502259ad0.png

本文GitHub源代碼鏈接:https://github.com/yas-sim/openvino-auto-feature-visualization

審核編輯 :李倩

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

    關注

    0

    文章

    42

    瀏覽量

    15354
  • 深度學習
    +關注

    關注

    73

    文章

    5527

    瀏覽量

    121879

原文標題:OpenVINO? 2022.1中AUTO插件和自動批處理的最佳實踐 | 開發者實戰

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    松下MPS媒體制作平臺 第十一篇:深入探索自動跟蹤插件(第二部分)

    MPS媒體制作平臺 第十一篇:自動跟蹤插件(第二部分) Auto Tracking(自動跟蹤)插件是一款基于人體檢測和面部識別的高精度跟蹤技
    的頭像 發表于 02-19 10:31 ?138次閱讀
    松下MPS媒體制作平臺 第十一篇:深入探索<b class='flag-5'>自動</b>跟蹤<b class='flag-5'>插件</b>(第二部分)

    松下MPS媒體制作平臺之自動跟蹤插件(第一部分)

    ? 歡迎大家觀看松下操作教程 MPS媒體制作平臺 第十篇:Auto Tracking(自動跟蹤)插件 Auto Tracking(自動跟蹤)
    的頭像 發表于 02-08 11:15 ?264次閱讀
    松下MPS媒體制作平臺之<b class='flag-5'>自動</b>跟蹤<b class='flag-5'>插件</b>(第一部分)

    兆芯最佳實踐應用場景解決方案發布

    《兆芯最佳實踐應用場景解決方案》現已正式發布,掃描下方二維碼或點擊閱讀原文即可獲取下載。
    的頭像 發表于 01-13 14:45 ?273次閱讀

    立訊精密入選2024可持續發展最佳實踐案例

    近日,由中國上市公司協會(以下簡稱中上協)主辦的2024上市公司可持續發展大會在京召開。會上,中上協發布了2024上市公司可持續發展最佳及優秀實踐案例。立訊精密憑借“立志高遠 訊航可持續高質量發展”的卓越實踐,從596篇投稿中脫
    的頭像 發表于 11-28 13:50 ?395次閱讀

    4G模組之UDP應用的最佳實踐

    今天說的是4G模組之UDP應用,展示最佳實踐,送你參考。
    的頭像 發表于 11-08 09:24 ?648次閱讀
    4G模組之UDP應用的<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>!

    MES系統的最佳實踐案例

    效率、降低成本、保證產品質量。 MES系統的最佳實踐案例 引言 在當今競爭激烈的制造業環境中,企業必須不斷尋求創新和改進的方法來保持競爭力。MES系統作為一種關鍵的信息技術工具,已經被廣泛應用于各種制造行業,以實現生產過程的優化和管理。本文將探討MES系統的
    的頭像 發表于 10-27 09:33 ?2033次閱讀

    邊緣計算架構設計最佳實踐

    邊緣計算架構設計最佳實踐涉及多個方面,以下是一些關鍵要素和最佳實踐建議: 一、核心組件與架構設計 邊緣設備與網關 邊緣設備 :包括各種嵌入式設備、傳感器、智能手機、智能攝像頭等,負責采
    的頭像 發表于 10-24 14:17 ?650次閱讀

    云計算平臺的最佳實踐

    云計算平臺的最佳實踐涉及多個方面,以確保高效、安全、可擴展和成本優化的云環境。以下是一些關鍵的最佳實踐: 一、云成本優化 詳細分析云使用情況 :通過細致的監控和分析,識別低ROI(投資
    的頭像 發表于 10-24 09:17 ?475次閱讀

    TMCS110x 布局挑戰和最佳實踐

    電子發燒友網站提供《TMCS110x 布局挑戰和最佳實踐.pdf》資料免費下載
    發表于 09-12 09:23 ?0次下載
    TMCS110x 布局挑戰和<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    衰減 AMC3301 系列輻射發射 EMI 的最佳實踐

    電子發燒友網站提供《衰減 AMC3301 系列輻射發射 EMI 的最佳實踐.pdf》資料免費下載
    發表于 09-11 09:59 ?0次下載
    衰減 AMC3301 系列輻射發射 EMI 的<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    毫米波雷達器件的放置和角度最佳實踐應用

    電子發燒友網站提供《毫米波雷達器件的放置和角度最佳實踐應用.pdf》資料免費下載
    發表于 09-09 09:57 ?2次下載
    毫米波雷達器件的放置和角度<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>應用

    電機驅動器電路板布局的最佳實踐

    電子發燒友網站提供《電機驅動器電路板布局的最佳實踐.pdf》資料免費下載
    發表于 09-05 11:33 ?17次下載
    電機驅動器電路板布局的<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    MSP430 FRAM技術–使用方法和最佳實踐

    電子發燒友網站提供《MSP430 FRAM技術–使用方法和最佳實踐.pdf》資料免費下載
    發表于 08-23 09:23 ?0次下載
    MSP430 FRAM技術–使用方法和<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    RTOS開發最佳實踐

    基于RTOS編寫應用程序時,有一些要注意事項。在本節中,您將學習RTOS開發最佳實踐,例如POSIX合規性、安全性和功能安全認證。
    的頭像 發表于 08-20 11:24 ?594次閱讀

    工業自動化:PROFINET網絡技術解析與Auto Pro工業交換機應用實踐

    化提供了理想的通信解決方案。兼容PROFINET的Auto Pro工業交換機,解決了自動化設備間的兼容問題,還通過優化網絡架構和傳輸技術,確保了數據的高效、穩定傳輸,
    的頭像 發表于 05-17 17:38 ?1099次閱讀
    工業<b class='flag-5'>自動</b>化:PROFINET網絡技術解析與<b class='flag-5'>Auto</b> Pro工業交換機應用<b class='flag-5'>實踐</b>
    主站蜘蛛池模板: 国产成在线观看免费视频 | 在线播放真实国产乱子伦 | 99视频精品国产在线视频 | 87影院午夜福利 | 中文日产无乱码AV在线观 | 国产人人为我我为人人澡 | 男女做爽爽爽视频免费软件 | 新金梅瓶玉蒲团性奴3 | 国产午夜免费视频片夜色 | 欧美白人战黑吊 | 少妇伦子伦情品无吗 | 99er热精品视频国产免费 | 玖玖在线精品 | 久久无码AV亚洲精品色午夜 | 九九热精品视频在线观看 | 免费精品国偷自产在线 | 秘密教学93话恩爱久等了免费 | 嫩草成人国产精品 | 全彩黄漫火影忍者纲手无遮挡 | 欧美日韩一区二区三区四区 | 日韩精品在线看 | 好男人免费观看在线高清WWW | 69精品人妻一区二区三区蜜桃 | 少女10声大哥喊退色狼 | 四房播播开心五月 | 真实的强视频免费网站 | lesbabes性欧美 | 色狠狠色综合吹潮 | 精品人妻一区二区三区视频53 | 午夜福利体检 | 青青视频 在线 在线播放 | 邪恶肉肉全彩色无遮盖 | 男gv纯肉免费视频 | 最近韩国日本免费观看mv免费版 | 野花高清影视免费观看 | 九九热在线视频精品店 | 精品水蜜桃久久久久久久 | 黑丝美女娇喘 | 2019久久这里只精品热在线观看 | 琪琪午夜福利免费院 | 在线免费国产 |