本教程基于linux-ubuntu-18.04-LTS操作系统,openvino版本为目前最新的2021.1版本。
官网下载openvino最新版本(其他版本也可以):
点击注册和下载选项,填写个人信息后就可以下载了。
这里选择安装的是linux版本,先下载文件然后离线安装。
下载好tgz文件后默认在download文件夹下,就可以开始安装。
$ cd ~/Downloads/
$ tar -xvzf l_openvino_toolkit_p_.tgz
这里要改成自己下载的版本,我这里是
$ tar -xvzf l_openvino_toolkit_p_2021.1.110.tgz
为了方便,以下都用这个文件夹代替,安装时要改成你们自己的版本所在的文件夹
2. 进入解压后的文件夹,准备安装
$ cd l_openvino_toolkit_p_2021.1.110
开始安装,这里官网推荐了两种方法
$ sudo ./install_GUI.sh
$ sudo ./install.sh
我这里用GUI安装。执行方法1的命令后,弹出以下安装窗口,下面就和在win上装软件差不多,一路next.
next后开始正式安装。
接受license协议后点击next。
是否允许intel收集信息,随便选,next。此时软件会验证签名,一般没问题后进入下一步。
这一步列出了一些prerequisites,由于openvino安装时需要cmake,openCL等软件依赖,我这里都没有(可能你的系统之前有一些已经安装了),不过不用担心,后面我们再安装就好。直接点next。
这里列出了安装总结,默认安装位置为opt/intel,我这里选择全部安装,左下角有customize可以自定义安装,点进去就可以更改安装目录等信息,这里我直接默认安装位置,点击install进行安装。
这个界面可能会出现。由于电脑之前没有用过OpenCL驱动,这里提示说它后面会帮助你安装,还是直接点next。
开始安装,等待大概半分钟就好了。
finish完成安装。这时候会打开浏览器进入openvino的安装官网。
前文中,我们已经安装了核心组件,但是还有一些openvino所需的依赖没有安装,这一部分将会进行安装。
注:如果已将Intel®OpenVINO™发行版安装到非默认安装目录,请用安装软件的目录替换/ opt / intel。
安装的依赖对于以下情况是必需的:
$ cd /opt/intel/openvino_2021/install_dependencies
$ sudo -E ./install_openvino_dependencies.sh
执行后会安装各种依赖,保持好的网络环境等待安装就好,如果出现由于网络问题安装失败,请查看这篇文章:ubuntu 更换软件源。
安装依赖项后,继续下一节设置环境变量。
在编译和运行OpenVINO应用程序之前,必须更新几个环境变量。运行以下脚本临时设置环境变量
source /opt/intel/openvino_2021/bin/setupvars.sh
允许后,出现
[setupvars.sh] OpenVINO environment initialized
表明设置环境变量成功。
当关闭shell时,OpenVINO环境变量将被删除。以后每次使用openvino都要重新执行这一段代码设置环境变量。如果偷懒不想这么麻烦,可以参照下一部分的设置。
$ cd /home/
$ vi ./bashrc
source /opt/intel/openvino_2021/bin/setupvars.sh
设置了环境变量。继续下一节来配置模型优化器。
Model Optimizer是一个基于Python的命令行工具,用于从流行的深度学习框架(如Caffe, TensorFlow*, Apache MXNet*, ONNX和Kaldi)导入训练过的模型。
模型优化器是英特尔OpenVINO发行版工具包的关键组件。 如果不通过Model Optimizer运行模型,则无法对训练后的模型进行推断。 当您通过模型优化器运行预训练的模型时,您的输出是网络的中间表示(IR)。 中间表示是一对描述整个模型的文件:
- .xml:描述网络拓扑
- bin:包含权重和偏置的二进制数据
你可以选择一次配置所有受支持的框架,或者一次配置一个框架。选择最适合你需要的选项。如果看到错误消息,请确保安装了所有依赖项。
以下步骤必需联网
$ cd /opt/intel/openvino_2021/deployment_tools/model_optimizer/install_prerequisites
$ sudo ./install_prerequisites.sh
$ cd /opt/intel/openvino_2021/deployment_tools/model_optimizer/install_prerequisites
$ sudo ./install_prerequisites_onnx.sh
注意,如果前面更改了软件安装源之后,这里应该很快会下载完成,如果提示下载超时或者一直出现下面的问题
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’
: Failed to establish a new connection: [Errno -2] 未知的名称或服务’,)’: /simple/onnx/
请尝试更改软件源或者多试几次(我一开始也下了好久卡在那里,中止后重新下载很快就好了)。
安装完成后出现以下说明则安装成功。
$ cd /opt/intel/openvino_2021/deployment_tools/demo
$ ./demo_squeezenet_download_convert_run.sh
该验证脚本下载了一个SqueezeNet模型,使用模型优化器将模型转换为.bin和.xml中间表示(IR)文件。 推理引擎需要此转换的模型,因此它可以将IR用作输入并在Intel硬件上实现最佳性能。
这个验证脚本构建图像分类示例异步应用程序,并使用位于演示目录中的car.png图像运行它。当验证脚本完成时,您将拥有前10个类别的标签和信心
然而,此时很可能出现
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /forresti/SqueezeNet/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/deploy.prototxt (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))
########## Error: Download failed
报错,其原因可能是连接raw.githubusercontent.com时连接不上,参考此博客给出的解决方案:解决GitHub的raw.githubusercontent.com无法连接问题:
sudo gedit /etc/hosts
# GitHub Start
52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
151.101.76.133 raw.githubusercontent.com
151.101.108.133 user-images.githubusercontent.com
151.101.76.133 gist.githubusercontent.com
151.101.76.133 cloud.githubusercontent.com
151.101.76.133 camo.githubusercontent.com
151.101.76.133 avatars0.githubusercontent.com
151.101.76.133 avatars1.githubusercontent.com
151.101.76.133 avatars2.githubusercontent.com
151.101.76.133 avatars3.githubusercontent.com
151.101.76.133 avatars4.githubusercontent.com
151.101.76.133 avatars5.githubusercontent.com
151.101.76.133 avatars6.githubusercontent.com
151.101.76.133 avatars7.githubusercontent.com
151.101.76.133 avatars8.githubusercontent.com
# GitHub End
$ ./demo_squeezenet_download_convert_run.sh
$ ./demo_security_barrier_camera.sh
该脚本下载了三个经过预先训练的模型IR,构建了``安全屏障摄像头演示’'应用程序,并与演示目录中的下载模型和car_1.bmp图像一起运行它以显示推理管道。
首先,将物体识别为车辆。 该标识用作下一个模型的输入,该模型标识特定的车辆属性,包括车牌。 最后,将识别为车牌的属性用作第三种模型的输入,该模型可以识别车牌中的特定字符。
当验证脚本完成时,您将看到一个图像,该图像显示结果框架,检测呈现为边界框和文本.