OPENVINO入坑笔记1--linux上安装OPENVINO

官方教程地址

  1. 在linux上安装(推荐用linux安装,环境较windows干净很多,省不少事)
  2. 在windows上安装(不推荐,个人安装过,由于电脑python版本很乱,一堆问题)

本教程基于linux-ubuntu-18.04-LTS操作系统,openvino版本为目前最新的2021.1版本。

安装准备

官网下载openvino最新版本(其他版本也可以):
在这里插入图片描述
点击注册和下载选项,填写个人信息后就可以下载了。
这里选择安装的是linux版本,先下载文件然后离线安装。
下载好tgz文件后默认在download文件夹下,就可以开始安装。

安装openvino核心组件

  1. 打开命令行,进入下载文件夹,解压文件
$ cd ~/Downloads/
$ tar -xvzf l_openvino_toolkit_p_<version>.tgz

这里要改成自己下载的版本,我这里是

$ tar -xvzf l_openvino_toolkit_p_2021.1.110.tgz

为了方便,以下都用这个文件夹代替,安装时要改成你们自己的版本所在的文件夹
2. 进入解压后的文件夹,准备安装

$ cd l_openvino_toolkit_p_2021.1.110

开始安装,这里官网推荐了两种方法

  • 方法1:GUI安装
$ sudo ./install_GUI.sh
  • 方法2:命令行安装
$ 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。

安装的依赖对于以下情况是必需的:

  • Intel-optimized build of OpenCV library
  • Deep Learning Inference Engine
  • Deep Learning Model Optimizer tools
  1. 进入到安装依赖项目录
$ cd /opt/intel/openvino_2021/install_dependencies
  1. 运行脚本来下载并安装外部软件依赖项
$ sudo -E ./install_openvino_dependencies.sh

执行后会安装各种依赖,保持好的网络环境等待安装就好,如果出现由于网络问题安装失败,请查看这篇文章:ubuntu 更换软件源
安装依赖项后,继续下一节设置环境变量。

设置环境变量

在编译和运行OpenVINO应用程序之前,必须更新几个环境变量。运行以下脚本临时设置环境变量

source /opt/intel/openvino_2021/bin/setupvars.sh

允许后,出现

[setupvars.sh] OpenVINO environment initialized

表明设置环境变量成功。

当关闭shell时,OpenVINO环境变量将被删除。以后每次使用openvino都要重新执行这一段代码设置环境变量。如果偷懒不想这么麻烦,可以参照下一部分的设置。

永久设置openvino环境变量(可选部分)

  1. 打开 .bashrc 文件 (在 <user_directory> 目录中), 执行:
$ cd /home/<user_directory>
$ vi ./bashrc

在这里插入图片描述
打开后是上面这样的。

  1. 将这一行添加到文件的末尾
source /opt/intel/openvino_2021/bin/setupvars.sh
  1. 按下Esc键,输入:wq,保存退出。
  2. 要测试更改,请打开一个新终端,将看到
    [setupvars.sh] OpenVINO environment initialized.

设置了环境变量。继续下一节来配置模型优化器。

配置模型优化器

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
  • 选项二:分别配置每个框架,这里我运行的是这个选项,配置onnx框架
$ 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(’<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fd9dbeead30>: Failed to establish a new connection: [Errno -2] 未知的名称或服务’,)’: /simple/onnx/

请尝试更改软件源或者多试几次(我一开始也下了好久卡在那里,中止后重新下载很快就好了)。
安装完成后出现以下说明则安装成功。
在这里插入图片描述

运行验证脚本来验证安装

  1. 转到 Inference Engine demo 目录
$ cd /opt/intel/openvino_2021/deployment_tools/demo
  1. 运行图像分类验证脚本
$ ./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('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fdb65cf7fd0>: 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

在这里插入图片描述
成功了!!!

  1. 运行推理管道验证脚本
$ ./demo_security_barrier_camera.sh

该脚本下载了三个经过预先训练的模型IR,构建了``安全屏障摄像头演示’'应用程序,并与演示目录中的下载模型和car_1.bmp图像一起运行它以显示推理管道。
首先,将物体识别为车辆。 该标识用作下一个模型的输入,该模型标识特定的车辆属性,包括车牌。 最后,将识别为车牌的属性用作第三种模型的输入,该模型可以识别车牌中的特定字符。
当验证脚本完成时,您将看到一个图像,该图像显示结果框架,检测呈现为边界框和文本.

运行结果如下:
在这里插入图片描述
在这里插入图片描述
大功告成!完成万里长征第一步。

参考资料

  1. https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_linux.html
  2. https://blog.csdn.net/qq_35451572/article/details/79516563?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
  3. https://blog.csdn.net/weixin_41848012/article/details/105810962
  4. https://www.cnblogs.com/sinferwu/p/12726833.html

猜你喜欢

转载自blog.csdn.net/weixin_43335465/article/details/109653222
今日推荐