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