注意:OpenVINO官方的安裝說明非常詳細。
請參考:https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_windows.html
本博客是記錄家裏windows10安裝openVINO的過程;
-1、下載OpenVINO
官網的下載鏈接:可能很卡,本博客給出文章所涉及的openvino安裝文件
w_openvino_toolkit_p_2019.3.379.exe
-2、安裝OpenVINO
雙擊w_openvino_toolkit_p_2019.3.379.exe執行安裝;
如果是使用默認安裝位置的話,是安裝在"C:\Program Files (x86)\IntelSWTools\"文件夾下,我自己是選擇安裝到D盤,即:
D:\D02_AppLearn\D02A10_OpenVINO\installer
如上提示我,如果需要使用VS2019作爲IDE,那麼我需要安裝CMake3.14。
另外檢測到沒有Intel GPU,注意此GPU非彼GPU,這裏是指的Intel自家的集成顯卡(核顯),似乎Intel也在做自己的獨顯GPU,不過目前這裏就是指的是核顯。
另外這個警告可以無視,因爲有GPU運行的異步,不一定趕得上CPU的異步,CPU性能還是相當重要的!
-3、初始化OpenVINO
在cmd終端進行初始化。
C:\Users\Administrator>D:
D:\>cd D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>setupvars.bat
Python 3.7.3
ECHO 處於關閉狀態。
PYTHONPATH=D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\open_model_zoo\tools\accuracy_checker;
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3.7;
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3;
[setupvars.bat] OpenVINO environment initialized
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>
如上圖openVINO初始化成功了。由於我想使用的python版本的OpenVINO,
下面需要安裝openVINO涉及的python三方包。
-4、安裝OpenVINO依賴的python三方包
在安裝文件夾下./IntelSWTools/openvino_2019.3.379/deployment_tools/model_optimizer/requirements_tf.txt
對應我的本機:D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\model_optimizer\requirements_tf.txt
使用清華鏡像源進行快速安裝:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ tensorflow==1.14.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ networkx==2.2
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ defusedxml==0.6.0
安裝完成後查看python的三方包:
-5、測試OpenVINO推理包是否可以導入
C:\Users\Administrator>D:
D:\>cd D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>setupvars.bat
Python 3.7.3
ECHO 處於關閉狀態。
PYTHONPATH=D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\open_model_zoo\tools\accuracy_checker;D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3.7;D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3;
[setupvars.bat] OpenVINO environment initialized
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from openvino.inference_engine import IENetwork, IECore
>>>
如上圖可以正常導入推理機:from openvino.inference_engine import IENetwork, IECore
-6、使用OpenVINO運行YOLOV3或者Tiny_yolo模型。
本博客將給出優化後的網絡和權重,可以直接加載得到結果,另外將提供一個“玩具總動員”視頻。
-----------------------------------------------------------------------------------------------------------------------------------------
---附註---
另外cv2在OpenVINO安裝階段,安裝到OpenVINO中,在執行初始化後,就可以導入cv2了。如下:
python -c "import sys; print(sys.executable)"
python -c "import cv2"
C:\Users\Administrator>python -c "import sys; print(sys.executable)"
D:\D00_Python3\D00A2_python3.7.3\install\python.exe
C:\Users\Administrator>python -c "import cv2"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
C:\Users\Administrator>
如果進行OpenVINO初始化後,可以導入到cv2,如下:
D:
D:\>cd D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>setupvars.bat
python -c "import cv2; print(cv2.__version__)"
C:\Users\Administrator>python -c "import sys; print(sys.executable)"
D:\D00_Python3\D00A2_python3.7.3\install\python.exe
C:\Users\Administrator>python -c "import cv2"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
C:\Users\Administrator>D:
D:\>cd D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>setupvars.bat
Python 3.7.3
ECHO 處於關閉狀態。
PYTHONPATH=D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\open_model_zoo\tools\accuracy_checker;D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3.7;D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3;
[setupvars.bat] OpenVINO environment initialized
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>python -c "import cv2; print(cv2.__version__)"
4.1.2-openvino
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>
-----------------------------------------------------------------------------------------------------------------------------------------
下面將使用官方的腳本、制定CPU進行運行:
-a、腳本:
.\IntelSWTools\openvino_2019.3.379\inference_engine\demos\python_demos\object_detection_demo_yolov3_async\object_detection_demo_yolov3_async.py
(即我的本機:D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\inference_engine\demos\python_demos\object_detection_demo_yolov3_async\object_detection_demo_yolov3_async.py)
-b、由於本計算機只有CPU,需要指定設備的輸入參數爲CPU,並制定指令集
.\IntelSWTools\openvino_2019.3.379\deployment_tools\inference_engine\bin\intel64\Release\cpu_extension_avx2.dll
(即我的本機:D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\inference_engine\bin\intel64\Release\cpu_extension_avx2.dll)
-c、將視頻以及腳本、模型放入如下文件夾內:
E:\E02_HomeWork\E02_A1_OpenVINO
-d、運行如下代碼:
初始化openVINO後,進入腳本文件夾(E:\E02_HomeWork\E02_A1_OpenVINO)下運行如下代碼:
python object_detection_demo_yolov3_async.py -i ./movie.mp4 -m ./IR_tiny_yolo/road_tiny.xml -d CPU -l "D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\inference_engine\bin\intel64\Release\cpu_extension_avx2.dll"
如下:
C:\Users\Administrator>d:
D:\>cd D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>setupvars.bat
Python 3.7.3
ECHO 處於關閉狀態。
PYTHONPATH=D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\open_model_zoo\tools\accuracy_checker;D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3.7;D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\python\python3;
[setupvars.bat] OpenVINO environment initialized
D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\bin>E:
E:\>cd E:\E02_HomeWork\E02_A1_OpenVINO
E:\E02_HomeWork\E02_A1_OpenVINO>python object_detection_demo_yolov3_async.py -i ./movie.mp4 -m ./IR_tiny_yolo/road_tiny.xml -d CPU -l "D:\D02_AppLearn\D02A10_OpenVINO\installer\IntelSWTools\openvino_2019.3.379\deployment_tools\inference_engine\bin\intel64\Release\cpu_extension_avx2.dll"
[ INFO ] Creating Inference Engine...
[ INFO ] Loading network files:
./IR_tiny_yolo/road_tiny.xml
./IR_tiny_yolo/road_tiny.bin
[ INFO ] Preparing inputs
MFX: Can't initialize session
[ INFO ] Loading model to the plugin
[ INFO ] Starting inference...
To close the application, press 'CTRL+C' here or switch to the output window and press ESC key
To switch between sync/async modes, press TAB key in the output window
[ INFO ] Layer detector/yolo-v3-tiny/Conv_12/BiasAdd/YoloRegion parameters:
[ INFO ] classes : 10
[ INFO ] num : 3
[ INFO ] coords : 4
[ INFO ] anchors : [10.0, 14.0, 23.0, 27.0, 37.0, 58.0]
[ INFO ] Layer detector/yolo-v3-tiny/Conv_9/BiasAdd/YoloRegion parameters:
[ INFO ] classes : 10
[ INFO ] num : 3
[ INFO ] coords : 4
[ INFO ] anchors : [81.0, 82.0, 135.0, 169.0, 344.0, 319.0]
[ INFO ] Layer detector/yolo-v3-tiny/Conv_12/BiasAdd/YoloRegion parameters:
[ INFO ] classes : 10
[ INFO ] num : 3
[ INFO ] coords : 4
[ INFO ] anchors : [10.0, 14.0, 23.0, 27.0, 37.0, 58.0]
......
運行界面:
本提供提供復現的視頻以及腳本、權重。