文章目录
一 Openvino介绍
参见我的这篇博客
OpenVINO是英特尔基于自身现有的硬件平台开发的一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,支持各种英特尔平台的硬件加速器上进行深度学习,并且允许直接异构执行。 支持在Windows与Linux系统,Python/C++语言。优化工具包 OpenVINO 让不懂电脑视觉和深度学习原理的小白可以在很短的时间上手,不必担心如何建置开发平台、选择深度学习框架、训练及优化模型和硬体加速等问题,只需利用预先训练及优化过的语义分割模型,很快就可以做出一组看起来很专业的自驾车视觉分析系统。
主要特点:
1:在Intel平台上提升计算机视觉相关深度学习性能达19倍以上
2: 解除CNN-based的网络在边缘设备的性能瓶颈
3: 对OpenCV,OpenXV*视觉库的传统API实现加速与优化
4: 基于通用API接口在CPU、GPU、FPGA等设备上运行加上
OpenVINO 有2个大模块,第一个是 OR 他是用于把深度学习训练好的模型转换成engine可识别的文件(xml和bin) ,另一个是inference engine 是OpenVINO具体实施单元,利用一个智能引擎完成相应的应用 。
一般流程:
1:根据自己的训练模型需要配置Mode Optimizer.
2: 根据设置的模型参数运行Model Optimizer,生成相对应的IR(主要是xml和bin)
xml-主要用来描述网络拓扑结构
bin-包括生成的weights and biases 二进制数据
3: 在实际应用场景种使用Inference Engine测试生成的IR
4: 在应用程序种调用Inference Engine相应接口,将生成的模型IR部署到实际环境中。
Model Optimizer
Model Optimizer 是一个跨平台命令行工具,用于促进训练与具体实施平台中的过渡,主要是进行静态模型分析 以及根据配置参照自动调整深度模型
Model Optimizer 被用来设计成支持常用的框架(Caffe, TensofFlow, MXNet, Kaldi, ONNX等),相当于封装了一层,便于进行开发。
Model Optimizer主要工作流程:
1:根据需要所用到的框架,配置Model Optimizer
2: 提供训练模型作为输入,包括网络拓扑以及参数
3:运行Model Optimizer(根据选择的网络拓扑进行训练)
4:IR作为Model Optimizer输出
Inference Engine:
Inference Engine是主要运行单元,并提供相应API
将IR作为输入
在目标硬件优化执行
提供嵌入式平台最佳执行性能方案
二 Ubuntu 18.04 安装 Vino
1.下载OpenVINO:
https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html
2.安装:
解压:
tar -zxvf l_openvino_toolkit_p_2019.2.242.tgz
GUI界面安装:
cd /home/<user>/l_openvino_toolkit_p_2019.2.242
sudo ./install_GUI.sh
注意:如果以前安装过OpenVINO,请删除/home/目录下的inference_engine_samples和openvino_models.
root用户安装,默认安装目录为/opt/intel/openvino_
到此步,点击Customize…,可以看到默认的安装路径,支持自定义路径,点击save按钮,一路install。
安装依赖环境:
cd /opt/intel/openvino_2019.2.242/install_dependencies
sudo -E ./install_openvino_dependencies.sh
设置临时环境变量(关闭shell终端就会删除环境变量,建议设置永久)
source /opt/intel/openvino/bin/setupvars.sh
设置永久环境变量:
vi <user_directory>/.bashrc
添加下列代码:
source /opt/intel/openvino/bin/setupvars.sh
配置模型优化器,同时配置所有的框架:
cd /opt/intel/openvino/deployment_tools/model_optimizer/install_prerequisites
sudo ./install_prerequisites.sh
3.验证
运行图像分类验证脚本:
cd /opt/intel/openvino/deployment_tools/demo
sudo -E -H ./demo_squeezenet_download_convert_run.sh
运行推理管道验证脚本:
sudo -H ./demo_security_barrier_camera.sh
测试成功,安装完成!
三 Windows 安装 Vino
一.环境要求
Windows 安装仅支持英特尔®CPU,英特尔®处理器显卡,英特尔®Movodius™神经计算棒,英特尔®神经计算棒2和采用英特尔®Movidius™VPU的英特尔®视觉加速器设计选项。
(1)硬件要求:
第6代 - 第8代Intel®Core™
英特尔®至强®v5系列
英特尔®至强®v6系列
英特尔®Movidius™神经计算棒
英特尔®神经计算棒2
采用Intel®Movidius™VPU的英特尔®视觉加速器设计
(2)操作系统要求:
Microsoft Windows * 10 64位
二.安装
安装版本说明:OpenVINO 2019_R3、Visual Studio 2019 Community、CMake 3.4 or higher 64-bit、Python 3.6.5 64-bit
1.安装OpenVINO
下载地址:
https://software.intel.com/en-us/openvino-toolkit/choose-download/free-download-windows?elq_cid=5321164&erpm_id=8269535
(1)双击文件,点击Extract
(2)这里路径可以自由设置,其他全部勾选。
(3)一路next,到这一步可以看到提示没有安装CMake和Visual Studio 2019,我们稍后安装,先点击next
(4)到这一步已经安装完了
2.安装Visual Studio 2019 Community
下载地址:https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017
(1)下载完成后双击,点击继续
(2)等待下载
(3)下载完成后自动弹出下面的显示框,在Workloads一栏按下图勾选
(4)切换到Individual components,查看MSBuild是否勾选,如果没有记得勾选上
(5)点击右侧的红框地方,即可看到安装选择
(6)点击右下角install,开始下载安装。
安装完成后,如果出现提示,请重新启动计算机。
3.安装Build Tools for Visual Studio 2019
下载地址:
https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017
(1)双击文件,在弹出页面勾选Workloads中的C++ build tools
(2)点击右下角的ingtall按钮,等待下载安装
(3)安装完成后,如果出现提示,请重新启动计算机。
4.安装CMake
下载地址:
https://cmake.org/download/
(1)双击安装,点击next
(2)选择红框所示的安装项
(3)按提示安装即可
5.安装python
下载地址:
https://www.python.org/downloads/release/python-365/
(1)双击安装,在弹出页面勾选添加到环境变量,点击 Install Now
(2)点击Install Now,完成安装
三.配置OpenVINO运行环境
1.设置环境变量
打开终端并运行以下批处理文件(.bat文件)以临时设置环境变量,在关闭终端窗口时,将删除OpenVINO工具箱环境变量,也就是说每次新打开终端需要执行.bat文件。
执行结果如下图,发现环境已配置好。
这里需要注意的是我的OpenVINO安装目录为 C:\Intel
那么如果不配置环境变量就跑模型会发生什么事呢,会报如下错误:
2.配置模型优化器
自动配置配置Caffe *,TensorFlow *,MXNet *,Kaldi *和ONNX *的模型优化器:
在C:\Intel\openvino_2019.3.334\deployment_tools\model_optimizer\install_prerequisites目录下执行.bat文件
也可以为每个框架单独配置。
3.运行图像分类验证脚本
#切换到推理引擎演示目录:
C:\Intel\openvino_2019.3.334\deployment_tools\demo
#运行图像分类验证脚本
demo_squeezenet_download_convert_run.bat
到此,安装完毕!
四 解决安装的错误,踩坑日记
一 安装好后python找不到vino
如果找不到cv2 ,找不到vino 等模块,在linux中:
有三点:
1: 不用自己pip安装opencv-python ,将他卸载后试试。
2:自己在终端中的环境下(conda 虚拟环境,还是python等)然后启动的时候也要通过这个环境中执行。
3: 不行就新建一个conda虚拟环境,然后全程再在这个环境下安装Openvino 再通过这个环境执行。
4:记得启动一下setupvar.sh
5:若是还不行,那就是依赖动态库链,python找不到,那么你可以将下面的环境(我的,应该通用),放到.bashrc里面,建议放到etc/skel/.bahsrc 中最下面:
source /opt/intel/openvino/bin/setupvars.sh
export LD_LIBRARY_PATH=/opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/lib/intel64/libinference_engine.so:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/intel/openvino_2020.3.194/opencv/lib/libopencv_ml.so.4.3:$LD_LIBRARY_PATH
export PYTHONPATH=/opt/intel/openvino/data_processing/dl_streamer/lib:/opt/intel/openvino/data_processing/gstreamer/lib:/opt/intel/openvino/opencv/lib:/opt/intel/openvino/deployment_tools/ngraph/lib:/opt/intel/openvino/deployment_tools/inference_engine/external/hddl/lib:/opt/intel/openvino/deployment_tools/inference_engine/external/gna/lib:/opt/intel/openvino/deployment_tools/inference_engine/external/mkltiny_lnx/lib:/opt/intel/openvino/deployment_tools/inference_engine/external/tbb/lib:/opt/intel/openvino/deployment_tools/inference_engine/lib/intel64:$PYTHONPATH
然后每次启动的时候 :source /etc/skel/.bashrc即可
或者添加到home下面也可以。
二 其他坑
1.run install_prerequisites.bat 如果是使用了代理的情况下的话,会出现下载不了安装包的情况,简单的办法就是在bat脚本里面pip install的地方加上–proxy
如果不知道自己的proxy是什么,可以按照 https://superuser.com/questions/346372/how-do-i-know-what-proxy-server-im-using 这篇文章介绍的去做。需要注意的是这个proxy和ie里面设置的不一定是一样的,在ie里面显示没有设置代理,有可能其实也是有代理的。
2.一定要设置环境变量 setupvars.bat,需要把脚本里面的环境变量自己手动到系统里面更新一下,如果在import openvino出错了,很可能就是openvino的路径没有加到cvsdkpath去
3.如果出现以下错误
Traceback (most recent call last):
File “classification_sample.py”, line 24, in
from openvino.inference_engine import IENetwork, IEPlugin
File “C:\Intel\computer_vision_sdk_2018.2.299\python\python3.6\openvino\infere
nce_engine_init_.py”, line 1, in
from .ie_api import *
ImportError: DLL load failed: The specified module could not be found.
需要把CVSDK_DIR\python\python3.6\openvino\inference_engine加到环境变量PATH中
五 深度学习算法交流群与数据开源
欢迎~