交代一下今天的文章背景:
于最近要使用inter的一款名为Intel® Movidius™ Myriad™ X 的加速卡去实现对算法模型的加速推理能力,由于是就得第一步安装openvino,然后再使用卡去验证openvino是否安装ok,卡是否真的存在推理加速的能力。
基于以上的情况花了两周多对openvino的安装以及安装过程中遇到的问题、卡使用过程中报的错,做一些总结,文章分为几个部分:openvino 运行环境安装,openvino开发环境安装,加速卡使用报错以及问题排查。
希望有使用同样卡的同学,能够有所帮助。话不多说,开始进入正题。
一、openvino介绍
官方地址:OpenVINO™ Documentation — OpenVINO™ documentation
OpenVINO™是英特尔基于自身现有的硬件平台开发的一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,用于快速开发应用程序和解决方案,以解决各种任务(包括人类视觉模拟、自动语音识别、自然语言处理和推荐系统等)。
OpenVINO™ 是一个用于优化和部署 AI 推理的开源工具包。 该工具套件基于最新一代的人工神经网络,包括卷积神经网络 (CNN)、递归网络和基于注意力的网络,可扩展跨英特尔® 硬件的计算机视觉和非视觉工作负载,从而最大限度地提高性能。它通过从边缘到云部署的高性能、人工智能和深度学习推理来为应用程序加速,并且允许直接异构执行。
- 提高计算机视觉、自动语音识别、自然语言处理和其他常见任务中的深度学习性能
- 使用使用流行的框架(如TensorFlow,PyTorch等)训练的模型
- 减少资源需求,并在从边缘到云的一系列英特尔®平台上高效部署
- 支持在 Windows、Linux 和 macOS 上部署,官方支持编程语言为Python与C++语言。
OpenVINOTMTM 工具套件2022.1版于2022年3月22日正式发布,根据官宣《OpenVINOTM 迎来迄今为止最重大更新,2022.1新特性抢先看》,OpenVINOTM 2022.1将是迄今为止最大变化的版本。从开发者的角度来看,对于提升开发效率或运行效率有用的特性有:
-
提供预处理API函数
-
ONNX前端API
-
AUTO 设备插件
-
支持直接读入飞桨模型
二、openvino环境安装
1. 本次环境选择:
openvino 版本:2022.1LTS
操作系统环境版本:LInux Ubuntu 20.04.6 LTS 64位
加速卡型号为:Intel@ Movidius Myriad X MA2485 AI处理器
python版本:采用软件自带版本 3.8.10
OpenVINOTM最新版本为2022.3版本, OpenVINOTM安装分为完整版安装与不完整版(Runtime)安装,本次安装2022.1。完整版安装会安装所有部件,包括模型优化器和推理部署套件运行工具(Runtime),目前该方式支持PIP安装方式,因此建议采用PIP安装在虚拟环境中,防止安装出错照成电脑环境出现问题。该安装方式至此Python、C++同时使用,由于安装路径较长,对C++使用不太方便,因此该安装方式最好使用Python编程。
非完整版安装主要安装编译环境(Runtime),安装比较简单,且一般会安装到根目录下,方便使用,因此如果不使用模型优化且情况下,或者使用C++编译环境的话,建议选用此方式。
2.openvino环境安装
参考地址:
https://docs.openvino.ai/2022.1/openvino_docs_install_guides_installing_openvino_linux.html
2.1 下载openvino的安装包
下载openvino的安装包:l_openvino_toolkit_p_2022.1.0.643_offline.sh
Download the Intel Distribution of OpenVINO Toolkit
2.2 安装openvino
1-5步,第五步选择: NCS2(这个原因是我的是inter 2485的加速卡)
2.2.1 安装英特尔®发行版的 OpenVINO™ 工具包
为当前用户添加可执行权:
cd <INSTALL_DIR>/install_dependencies
执行:
./l_openvino_toolkit_p_<version>.sh -a --cli
可以为其他参数添加参数,并在命令行 (CLI) 中运行安装:-a
--cli,
不加这个参数就成了可视化的安装了,因为我是ssh 安装的所有需要加上这个参数
默认情况下,OpenVINO™ 的英特尔®发行版安装到以下目录,如文档的其他位置所述:<INSTALL_DIR>
对于根用户或管理员:/opt/intel/openvino_<version>/
对于普通用户:/home/<USER>/intel/openvino_<version>/
为简单起见,还创建了一个指向最新安装的符号链接:/opt/intel/openvino_2022//home/<USER>/intel/openvino_2022/
核心组件现已安装。继续下一部分以安装其他依赖项。
2.2.2 安装外部软件依赖项
cd <INSTALL_DIR>/install_dependencies
sudo -E ./install_openvino_dependencies.sh
2.2.3配置环境
source <INSTALL_DIR>/setupvars.sh
2.2.4(可选):下载其他组件 -- OpenCV
.<INSTALL_DIR>/extras/opencv
2.2.5(可选):在非 CPU 设备上配置推理
选择NCS2
安装NCS2的配置地址如下:Configurations for Intel® Neural Compute Stick 2 — OpenVINO™ documentation — Version(2022.1)
cd <INSTALL_DIR>/install_dependencies/
./install_NCS_udev_rules.sh
目前已完成加速卡上执行推理所需的所有配置步骤
重新启动计算机才能使其生效,然后执行
source /opt/intel/openvino_2022.1.0.643/setupvars.sh
2.3 环境变量配置
这里发现没,每次都要人手动source这个环境变量是不是觉得有点麻烦,给大家个tips,可以比用每次都配:
vi ~/.bashrc
将下述命令行添加至最后一行
source /opt/intel/openvino_2022.1.0.643/setupvars.sh
来看效果,是不是很完美,不用每次进入环境都要输入一遍
ok,Runtime环境搭建完成!
我们下一篇再说说怎么验证测试这个东西,都需要什么样的条件!
windows跟这个很像,可以参考着来!