安装openvino2022要求
操作系统
Ubuntu 18.04 长期支持 (LTS),64 位
Ubuntu 20.04 长期支持 (LTS),64 位
软件
CMake 3.13 或更高版本,64 位
GCC 7.5.0(适用于 Ubuntu 18.04)或 GCC 9.3.0(适用于 Ubuntu 20.04)
Python 3.6 - 3.9,64 位
请注意,OpenVINO 正在逐渐停止对 Python 3.6 的支持。建议使用 Python 3.7 - 3.9。
第1步:下载并安装 OpenVINO 软件包
openvino下载网址
下载openvino runtimes
通常有两个文件下载:
l_openvino_toolkit_<operating system>_<release version>_<package ID>_x86_64.tgz
l_openvino_toolkit_<operating system>_<release version>_<package ID>_x86_64.tgz.sha256
sha256文件用于验证下载过程是否成功。
下载完成后,在下载上述文件的位置打开终端,使用sha256文件验证包:
sha256sum -с <archive name>.tgz.sha256
<achive name>是文件名
如果出现任何错误消息,请检查您的网络连接,重新下载正确的文件,并确保下载过程成功完成
从中提取OpenVINO文件.tgz文件:
sudo tar xf <archive name>.tgz -C <destination_dir>
<achive name>是文件名
<destination_dir>是将OpenVINO文件解压缩到的目录。建议将其设置为:
对于根用户或管理员:/opt/intel/
为了简单起见,创建symbolink链接很有用:
sudo ln -s /opt/intel/openvino_2022
第2步:配置环境
在编译和运行OpenVINO之前,必须更新几个环境变量™ 应用。设置环境变量如下:
source source /opt/intel/openvino_2022/setupvars.sh
还可以在每次启动新的终端会话时运行此脚本。修改~/.bashrc,并添加source /opt/intel/openvino_2022/setupvars.sh。下次打开终端时,您会看到[setupvars.sh] OpenVINO™ environment initialized.当您有很多OpenVINO时,不推荐使用上述方法。
(可选):配置英特尔GPU
- 转到install_dependencises目录:
cd <INSTALL_DIR>/install_dependencies/
- 为使用GPU插件所需的OpenCL™驱动程序组件安装英特尔®图形计算运行时,并为英特尔®集成图形编写自定义层。驱动程序不包括在软件包中。要安装它,运行这个脚本:
sudo -E ./install_NEO_OCL_driver.sh
该脚本将系统上的驱动程序版本与当前版本进行比较。如果系统上的驱动程序版本高于或等于当前版本,则脚本不会安装新的驱动程序。如果驱动程序的版本低于当前版本,脚本将卸载较低版本,并在您的许可下安装当前版本:
更高的硬件版本需要更高的驱动程序版本,即20.35而不是19.41。如果脚本无法卸载驱动程序,请手动卸载。在脚本执行期间,您可能会看到以下命令行输出:
Add OpenCL user to video group
忽略此建议并继续。
测试代码
CMakeList.txt
cmake_minimum_required(VERSION 3.10)
project(main)
include_directories(
#OpenVINO推理引擎的头文件
/opt/intel/openvino_2022/runtime/include/
)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
SET(CMAKE_CXX_COMPILER /usr/bin/g++)
set(CMAKE_BUILD_TYPE debug)
# 查找必要的依赖包
find_package(OpenVINO REQUIRED)
add_executable(test main.cpp)
target_link_libraries(test
openvino::runtime
)
main.cpp
#include<openvino/openvino.hpp>
#include<iostream>
using namespace std;
int main(){
ov::Core core;
vector<string> avilableDevice = core.get_available_devices();
for(auto x:avilableDevice){
cout<<"avilableDevice:::"<<x<<endl;
}
return 0;
}
成功运行画面