很久以前就看了這么一篇文章 "使用英特爾GPU的性能調優達到153幀MobileNet-SSD目標檢測", 作者是在Intel CPU的集成顯卡上實作的。一直想親手實踐一下,無奈這些年患了很嚴重的拖延癥和懶癌。最近病情有所好轉,索性努力研究一下。
首先安裝VS2017, 接著從官網下載安裝最新的openvino版本2019 R3. 按照官網的Install Intel Distribution of OpenVINO toolkit for Windows 10教程安裝下載必須的依賴庫和Model zoo的各種模型檔案。
安裝好之后就可以編譯openvino自帶的sample例程了。
OpenVINO很貼心的提供了一個batch檔案(如下圖所示),在檔案管理器里雙擊運行該bat檔案,可以根據當前系統安裝的VS2015/VS2017/VS2019的版本自動生成對應的VC專案檔案并且編譯生成代碼。

生成的專案檔案Samples.sln在Documents\Intel\OpenVINO\inference_engine_samples_build目錄下。

其中benchmark_app專案就是官方提供的測驗OpenVINO推理性能的參考專案。可以通過學習官方代碼了解如何最大程度的挖掘硬體性能,獲得更高的推理能力

benchmark的用法可以參考官網 Benchmark C++ Tool的說明,如果要測CPU的性能,最簡單的命令就是
./benchmark_app -m <model> -i <input> -d CPU
-m 后面帶模型的檔案名, -i 后面跟一個目錄名,目錄里放一些需要推理的圖片
我這里用mobilenet-ssd來測驗。
benchmark_app.exe -m c:\temp\cvt_model\mobilenet-ssd-fp32\mobilenet-ssd.xml -i c:\temp\ssd_img
測驗程式會默認自動跑一分鐘模型推理,統計1分鐘里推理了多少圖片,平均每張圖片所需的時間。

這里重點看Latency和Throughput的值
Latency指平均推理一張圖片所需的時間。Throughput指每秒鐘可以同時推理多少張圖片。
在實際場景中,如果我們想用最快的速度來推理一張圖片得到推理結果的話,需要將Latency盡可能的變小;如果我們想充分挖掘硬體的潛力,在單位時間里盡可能多的處理資料的話,需要將Throughput盡可能的變大。這2個引數指標通常是互相對立的,如果要Lantency變小,就需要將所有的硬體資源集中起來做一件事;如果要Throughput變大,就需要將所有的硬體資源都最大限度的調動起來做事,不讓每一塊電路空閑下來,這也就意味著同時跑很多件事,但是每件事的處理時間會變長。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/135556.html
標籤:英特爾技術
