【Openvino01】Ubuntu安装inter的openvino2022.1以及遇到的各种错误解决

news2024/11/13 15:17:27

交代一下今天的文章背景:

于最近要使用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跟这个很像,可以参考着来!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/675521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python pytorch教程-带你从入门到实战(代码全部可运行)

python pytorch教程-带你从入门到实战&#xff08;代码全部可运行&#xff09; 其实这个教程以前博主写过一次&#xff0c;不过&#xff0c;这回再写一次&#xff0c;打算内容写的多一点&#xff0c;由浅入深&#xff0c;然后加入一些实践案例。 下面是我们的内容目录&#x…

2022(一等奖)D1073基于Himawari-8卫星遥感的黑龙江省地表水时空格局研究

作品介绍 1 项目简介 为探究黑龙江省地表水空间格局变化&#xff0c;本项目以黑龙江省为例&#xff0c;基于高时相Himawari-8号卫星数据&#xff0c;通过影像预处理、特征指数选择、自动阈值分类、集成学习和随机森林分类等步骤&#xff0c;融合IDL二次开发与GIS空间分析&…

chatgpt赋能python:Python求绝对值的三种方法

Python 求绝对值的三种方法 Python是一门面向对象、解释型、动态类型的高级编程语言&#xff0c;它被广泛应用于各种领域&#xff0c;特别是科学计算、数据分析、机器学习等领域。在Python中&#xff0c;求绝对值是一个常见的数学操作。本文将介绍Python求绝对值的三种方法&am…

Redis原理 - Redis网络模型

原文首更地址&#xff0c;阅读效果更佳&#xff01; Redis原理 - Redis网络模型 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-netword-model.html 思考 Redis 到底是单线程还是多线程&#xff1f; 如果仅仅针对 Redis 的核心业务部分&#xff08;命…

Vicuna-13B云服务器部署

Vicuna概述 Vicuna由一群主要来自加州大学伯克利分校的研究人员推出&#xff0c;仍然是熟悉的配方、熟悉的味道。Vicuna同样是基于Meta开源的LLaMA大模型微调而来&#xff0c;它的训练数据是来自ShareGPT上的7万多条数据&#xff08;ShareGPT一个分享ChatGPT对话的谷歌插件&am…

Geocomputation (3)Spatial data operations

Geocomputation &#xff08;3&#xff09;Spatial data operations 来源&#xff1a;https://github.com/geocompx/geocompy 1.准备 #| echo: false import pandas as pd import matplotlib.pyplot as plt pd.set_option("display.max_rows", 4) pd.set_option(&…

文件搜索引擎的搭建Elasticsearch+Fscrawler+SearchUI+Git+Nginx

文章目录 前言如何搭建文档搜索引擎服务器架构环境准备一、搭建Elasticsearch二、搭建Fscrawler三、搭建SearchUI服务四、定时拉取Git文件五、搭建Nginx文件下载服务器 前言 搭建一套文档搜索引擎。有时候&#xff0c;我们有一批文档&#xff0c;需要在这批文档中查找想要的内…

【从零开始学习JAVA | 第十篇】StringBuild介绍

前言&#xff1a; 本文会对StringBuild类进行详细的介绍&#xff0c;他相比较于String&#xff0c;在进行字符串拼接的时候大大提高了效率&#xff0c;是一个 很实用的工具。 StringBulider&#xff1a; StringBuilder是Java中的一个类&#xff0c;用于在一次创建和初始化后&a…

Java中反射机制,枚举,Lambda的使用

目录 一、反射机制 1、含义 2、作用 3、※反射相关的几个类 3.1、Class类&#xff08;Class对象是反射的基石&#xff09; 3.2、Class类中相关的方法 3.2.1 (※重要)常用获得类相关的方法 3.2.2 (※重要)常用获得类中属性、变量Field相关的方法 3.2.3 获得类中注解相…

详细设计报告

聊天系统设计与实现详细设计报告 1.编写目的 详细设计的主要任务是概要设计方案做完善和细化,本阶段主要对聊天应用系统进行过程化的描述,详细确定每一个功能模块的实现方式、执行流程,为程序员编码提供依据。设计用户界面。 2.总体方案确认 (1)系统总体结构确认 该项目管理…

Redis原理 - 通信协议RESP

原文首更地址&#xff0c;阅读效果更佳&#xff01; Redis原理 - 通信协议RESP | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-communication-protocol.html RESP协议 Redis 是一个 CS 架构的软件&#xff0c;通信一般分两步&#xff08;不包括pipeli…

计算机组成与设计Patterson Hennessy 笔记_1 计算机概要与技术

Patterson & Hennessy 计算机概要与技术 计算机应用包括&#xff1a;个人计算机PC&#xff0c;服务器&#xff0c;嵌入式计算机。后PC时代出现了个人移动设备PMD&#xff08;手机&#xff09;&#xff0c;云计算&#xff08;在网络上提供服务的大服务器集群&#xff0c;供…

Unity Mac最新打苹果包流程

作者介绍&#xff1a;铸梦xy。IT公司技术合伙人&#xff0c;IT高级讲师&#xff0c;资深Unity架构师&#xff0c;铸梦之路系列课程创始人。 IOS详细打包流程1.申请APPID2.申请开发证书3.创建描述文件 IOS详细打包流程 1.申请AppID 2.创建证书 3.申请配置文件&#xff08;又名描…

NodeJS KOA⑩②

文章目录 ✨文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持&#x1f618;前言KOA Koa vs Express Koa更轻量 Koa~Context对象 Koa~异步流程控制 Koa~中间件模型Koa路由 1.1基本使用 2.2请求方式2.2.1规范写法2…

数据结构——带头节点的双向循环列表

带头节点的双向循环链表是一种特殊的双向链表&#xff0c;它与普通的双向链表相比&#xff0c;最大的区别是链表头结点的 next 指针不再指向第一个实际节点&#xff0c;而是指向链表中的第一个节点。同时&#xff0c;链表尾结点的 prev 指针也不再指向 NULL&#xff0c;而是指向…

轻松配置深度学习模型 ?

动动发财的小手&#xff0c;点个赞吧&#xff01; 由于所有模块都需要大量参数和设置&#xff0c;因此管理深度学习模型可能很困难。训练模块可能需要诸如 batch_size 或 num_epochs 之类的参数或学习率调度程序的参数。同样&#xff0c;数据预处理模块可能需要 train_test_spl…

Java接口幂等性,如何重试?

Java接口幂等性&#xff0c;如何重试&#xff1f; 文章目录 Java接口幂等性&#xff0c;如何重试&#xff1f;前言一、幂等性是什么&#xff1f;二、为什么要幂等性&#xff1f;三、使用什么办法实现幂等性&#xff1f;1.insert前先select2.加悲观锁3.加乐观锁4.加唯一索引5.Re…

uniapp系列-uni.getAppBaseInfo() versionCode appVersion 值不对应该怎么解决?

今天看到一个BUG 问题描述 我们使用uniapp的官方文档中uni.getAppBaseInfo()后获取的 appVersionCode appVersion &#xff0c;发现获得的结果和我们实际设置的不一致&#xff0c;不是manifest.json里面的值&#xff0c;如下图所示官方文档&#xff1a;https://uniapp.dcloud…

还原大师(MD5)

根据题目提示&#xff0c;都猜得到这应该跟MD5的加密形式有关系 我好像还没有具体了解过MD5编码的格式&#xff0c;或许本题可以通过MD5的编码格式推导出字符串 但是说实话&#xff0c;MD5的加密方式没有找到详细简介的文章 然后我就去网上百度了一下&#xff0c;经过大佬wp的洗…

java springboot整合MyBatis演示增删查改操作

前面我的文章 java springboot整合MyBatis做数据库查询操作讲述了整合springboot整合MyBatis 做了根据id查询的语句 那么 我们现在按它搭建的项目继续 我们在staffDao中添加一个insert函数 参考代码如下 Insert("insert into staff(name, age, status, departmentid) va…