OpenVINO全稱爲開放式視覺推理和神經網絡優化(Open Visual Inference & Neural Network Optimization),其前身是英特爾計算機視覺SDK(Computer Vision SDK),通過工具包中集成的三個全新API:深度學習部署工具包、通用的深度學習推理工具包以及OpenCV和OpenVX的優化功能,支持TensorFlow、MXNet和Caffe等框架。
安裝環境(及需求):
Win 10
Visual studio 2017 (Microsoft Visual Studio* with C++ 2019, 2017, or 2015 with MSBuild,系統最好只有一個版本,不然cmake可能存在問題)
Cmake 3.17 (CMake 3.4 or higher 64-bit,安裝後加入系統變量Path中)
Python3.6.5 (Python 3.6.5 64-bit,安裝時需要勾選加入系統變量Path中)
一、安裝以上環境
二、安裝OpenVINO
下載OpenVINO,需要先註冊一下。
註冊後選擇版本安裝,比如最新的下載後執行安裝
完成之後可能會提示需要重啓電腦。
如果需要依賴的軟件沒有安裝,在安裝過程會出現提示,需要安裝。
三、設置環境變量
打開cmd執行
cd C:\Program Files (x86)\IntelSWTools\openvino\bin\
setupvars.bat
設置成功後有提示:如果失敗需要配置下python路徑到python
這種設置只是在當前cmd窗口有效,一旦關閉cmd就失效了,下次需要重複這樣的操作。永久有效的方式是添加到環境變量Path。
四、配置Model Optimizer
OpenVINO支持Caffe, TensorFlow, MXNet, and ONNX等,可以將它們訓練的模型轉化成IR格式供推理引擎使用。
IR格式的數據包含兩個文件:
- .xml:描述網絡的拓撲結構
- .bin:包含權重和偏差的二進制數據
cmd進入目錄
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\install_prerequisites
執行下面的bat文件是爲支持的所有架構應用配置。
install_prerequisites.bat
如果是單獨配置某個架構,則分別執行
caffe:
install_prerequisites_caffe.bat
tensorflow:
install_prerequisites_tf.bat
MXNet:
install_prerequisites_mxnet.bat
ONNX:
install_prerequisites_onnx.bat
Kaldi:
install_prerequisites_kaldi.bat
五、驗證安裝
cmd進入目錄
cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\
運行腳本
demo_squeezenet_download_convert_run.bat
會自動下載一個訓練好的SqueezeNet model,並且使用Model Optimizer轉化成IR格式的數據,運行成功之後顯示如下:
這裏有坑。
坑1:模型鏈接無法訪問導致下載失敗。解決方案:
註銷掉demo_squeezenet_download_convert_run.bat中102行
::python "%downloader_dir%\downloader.py" --name "%model_name%" --output_dir "%models_path%" --cache_dir "%models_cache%"
去model_zoo自行下載模型。
根據https://github.com/opencv/open_model_zoo/tree/master/models/public/squeezenet1.1裏model.yaml文件裏描述的模型路徑下載,但恰好也不行。直接克隆模型所在github工程https://github.com/forresti/SqueezeNet提取裏邊的SqueezeNet_v1.1.caffemodel和deploy.prototxt到測試輸出目錄下的模型子目錄C:\Users\dou\Documents\Intel\OpenVINO\openvino_models\models\public\squeezenet1.1,並重命名爲squeezenet1.1.caffemodel和squeezenet1.1.prototxt。然後運行腳本正常。
坑2:還可能遇到cmake的問題,即找不到C,CXX編譯器,這可能是沒有安裝build tool,系統有多版本VS,VS默認環境不是C++等,可以通過cmake命令查看其默認generetor。
坑3:編譯成功,但無法執行預測測試
需要找到classification_sample_async.exe的路徑,cd到路徑後自行執行預測命令,路徑例如
D:\Program Files (x86)\IntelSWTools\openvino_2020.3.194\deployment_tools\inference_engine\samples\cpp\intel64\Release>
classification_sample_async.exe -i "D:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo\car.png" -m "C:\Users\dou\Documents\Intel\OpenVINO\openvino_models\ir\public\squeezenet1.1\FP16\squeezenet1.1.xml" -d CPU
運行測試腳本2
demo_security_barrier_camera.bat
參考:https://blog.csdn.net/heiheiya/article/details/91387199