前言
真的要感慨一句,openvino源码编译真的麻烦!由于2023年之后openvino官网的之间下载取消之后,很多人只能选择源码编译,我也是研究了好几天,又是clone改变的库,又是安装什么,搞了三四天都没有成功,在这个过程中倒是发现了一个简单的下载安装方法。
archive安装(查看官网)
新版的安装网上资料不是很多,我只能去看官网文件doc,我提供的这个链接是2023.2版本的(有点怕新版,遇到问题资料少),大家也可以选择其他版本。
在文档里面选择use Archive,往下翻,按照提示复制粘贴到终端就可以。
这里第4部分选择自己的电脑系统,再复制后面的命令运行。
讲解
如果看不懂官网或者进不去,就跟着我下面运行。
1.在根目录里面用如下命令创建一个文件夹
sudo mkdir /opt/intel
运行之后,查看其他位置里面计算机里面的opt里面是不是有一个intel文件夹
2.进入下载文件夹,如果是中文版就将Downloads换成下载
cd ~/Downloads
3.这部分是我上面提到的选择系统部分,下面这个命令是ubuntu2022版本(下载openvino2023.2版本的tar并且解压放入到之前创建的intel文件夹)
curl -L https://storage.openvinotoolkit.org/repositories/openvino/packages/2023.2/linux/l_openvino_toolkit_ubuntu22_2023.2.0.13089.cfd42bd2cb0_x86_64.tgz --output openvino_2023.2.0.tgz
tar -xf openvino_2023.2.0.tgz
sudo mv l_openvino_toolkit_ubuntu22_2023.2.0.13089.cfd42bd2cb0_x86_64 /opt/intel/openvino_2023.2.0
4.进入解压之后的openvino文件夹,配置个环境(第二个命令可能会出现报错,主要是网络问题,多试试)
cd /opt/intel/openvino_2023.2.0
sudo -E ./install_dependencies/install_openvino_dependencies.sh
5.如果你需要的是python版本的就运行下面命令(可选)
cd /opt/intel/openvino_2023.2.0
python3 -m pip install -r ./python/requirements.txt
6.直接运行
cd /opt/intel
sudo ln -s openvino_2023.2.0 openvino_2023
7.加载环境
source /opt/intel/openvino_2023/setupvars.sh
运行之后如下,基本上可以恭喜你安装成功!
8.如果不想每次使用都要加载环境,那么就在.brashrc里面加入一行
source /opt/intel/openvino_2023/setupvars.sh
并且
source ~/.brashrc
验证是否安装成功
这里需要一个xml模型文件,通过onnx模型转换成xml,在转换过程中还会生成一个bin文件,将两个文件放在一个文件夹里面
cmake文件如下
cmake_minimum_required(VERSION 3.10)
project(OpenVINOExample)
set(OpenVINO_DIR /opt/intel/openvino_2023)
# set(OPENVINO_DIR "/path/to/openvino/install")
# # 包含 OpenVINO 的 CMake 模块
# list(APPEND CMAKE_PREFIX_PATH ${OPENVINO_DIR})
find_package(OpenVINO REQUIRED)
link_directories(/opt/intel/openvino_2023/runtime/lib/intel64)
# 包含 OpenVINO 的头文件
include_directories(/opt/intel/openvino_2023/runtime/include)
add_executable(OpenVINOExample model.cpp)
target_link_libraries(OpenVINOExample PRIVATE
${OpenVINO_LIBRARIES}
openvino
)
c++代码如下
#include <openvino/openvino.hpp>
#include <iostream>
using namespace InferenceEngine;
int main() {
// 创建一个 Core 对象
ov::Core ie;
// 加载模型
auto network = ie.read_model("model.xml");//换成自己的模型路径(最好绝对路径)
// 打印网络信息
std::cout << "Model loaded successfully!" << std::endl;
return 0;
}
运行通过就算确定安装成功。