OpenVINO簡介
OpenVINO™是一個由英特爾發行的用於快速開發應用程式和解決方案的工具包,可基於該工具包解決包括計算機視覺、自動語音識別、自然語言處理、推薦系統在內的許多工。該工具包在英特爾硬體上擴充套件了計算機視覺和非視覺任務的工作負載,使得最新一代的人工神經網路,包括卷積神經網路(CNNs)、迴圈和基於注意力的網路在英特爾的硬體平臺上達到最最佳化的效能,支援在從邊緣到雲端的各種硬體裝置上部署高效能的深度學習推理加速應用程式。OpenVINO的特點如下:
支援在邊緣裝置上實現基於CNN的深度學習推理支援在英特爾的CPU、整合顯示卡、神經網路計算棒、視覺加速單元Movidius VPU等硬體平臺上執行包含經過最佳化的計算機視覺標準庫,包括OpenCV和OpenCL安裝OpenVINO核心元件1. 從OpenVINO的官方網站下載安裝包,預設情況下,安裝包的名字為l_openvino_toolkit_p_<version>.tgz,其中<version>代表OpenVINO的版本,比如最新的版本是2021。
2. 執行命令解壓安裝包:
tar -xvzf l_openvino_toolkit_p_<version>.tgz
解壓後,會在當前目錄下生成l_openvino_toolkit_p_<version>目錄。
3. 進入l_openvino_toolkit_p_<version>目錄,執行安裝指令碼進行安裝:
sudo ./install_GUI.sh
在彈出的視窗中根據提示進行安裝即可
OpenVINO安裝提示視窗
可以根據需要進行自定義配置
可以根據需要選擇必要的元件進行安裝
安裝完成後,OpenVINO被安裝到/opt/intel/openvino_<version>/目錄下,另外,Intel Media SDK元件會被安裝到/opt/intel/mediasdk目錄。
安裝依賴的軟體包安裝好OpenVINO後,還需要安裝以下幾個必要的軟體包:
經過英特爾最佳化的OpenCV深度學習推理引擎深度學習模型最佳化工具首先進入到opt/intel/openvino_2021/install_dependencies目錄下,然後執行指令碼進行安裝
sudo -E ./install_openvino_dependencies.sh
設定環境變數
要執行OpenVINO的應用程式,必須要設定一些相關的環境變數。如果只是想臨時地設定環境變數,只需在終端執行以下命令即可
source /opt/intel/openvino_2021/bin/setupvars.sh
如果想永久地設定環境變數,則開啟~/.bashrc檔案,然後在檔案的最後一行新增內容:
source /opt/intel/openvino_2021/bin/setupvars.sh
新增好之後,執行命令使環境變數生效
source ~/.bashrc
如果一切正常,將會在終端看到提示內容
[setupvars.sh] OpenVINO environment initialized
這樣設定後,以後每次開機都會自動設定好OpenVINO的環境變數,不需要再手動設定了。
配置模型最佳化器模型最佳化器是一個基於Python的命令列工具,用於從流行的深度學習框架如Caffe, TensorFlow, Apache MXNet,ONNX和Kaldi中匯入訓練好的模型。模型最佳化器是OpenVINO工具包的一個關鍵元件,如果不透過模型最佳化器執行模型,就不能對預訓練模型執行推理過程。透過模型最佳化器執行一個預先訓練好的模型時,得到的輸出是網路的中間表示(Intermediate Representation,IR),IR用以下兩個檔案來描述一個完整的模型:
.xml:用於描述網路的拓撲結構.bin:包含模型權重的二進位制資料對模型最佳化器的配置可以選擇一次配置所有支援的框架,也可以一次配置一個框架,可以根據自己平時最常用的框架進行選擇。配置過程中如果看到錯誤訊息,請確保安裝了所有依賴項。
選擇1:配置所有支援的框架1. 進入模型最佳化器配置目錄
cd /opt/intel/openvino_2021/deployment_tools/model_optimizer/install_prerequisites
2. 執行指令碼配置Caffe, TensorFlow, Apache MXNet,ONNX和Kaldi等框架的模型最佳化器
sudo ./install_prerequisites.sh
選擇2:配置單獨的框架
1. 進入模型最佳化器配置目錄
cd /opt/intel/openvino_2021/deployment_tools/model_optimizer/install_prerequisites
2. 執行指令碼為單獨的框架進行配置。以MXNet為例,執行
sudo ./install_prerequisites_mxnet.sh
其他的框架只需執行對應的指令碼即可,在此不做一一說明。
驗證模型最佳化器配置好了,我們可以執行一個例程驗證其是否正常。首先進入到/opt/intel/openvino_2021/deployment_tools/demo目錄下,然後執行影象分類驗證指令碼
./demo_squeezenet_download_convert_run.sh
該指令碼會下載一個SqueezeNet的影象分類模型,然後使用模型最佳化器將其轉換為包括.xml和.bin的IR檔案。推理引擎需要這樣的模型轉換過程,然後以IR作為輸入,得以在英特爾硬體上實現最佳效能。該指令碼轉換完模型後,會編譯並執行影象分類應用程式,用下載的SqueezeNet模型對一張影象進行分類,並輸出Top-10的分類結果。
影象分類的結果
如果能得到正確的輸出,說明OpenVINO已經可以正常使用了。