在 ubuntu22.04 中 安装 OpenVINO 并运行 Hello Classification C Sample
在 ubuntu22.04 中 安装 OpenVINO 并运行 Hello Classification C Sample
从GitHub上获取一个项目的源码并成功运行其Demo,虽然看似简单,但实际上涉及多个步骤和注意事项。这个过程不仅需要对Git的基本操作有所了解,还需要根据项目的具体需求进行环境配置、依赖安装和构建工具的使用。以下是一个相对通用的流程,以OpenVINO项目的编译、安装、运行为例,详细描述从克隆源码到运行Demo的各个步骤。
1.克隆源码
-
在 root 下创建文件夹目录
mkdir devel && cd devel mkdir openvino && cd
-
克隆新版本源码
git clone -b 2025.0.0 https://github.com/openvinotoolkit/openvino.git
- 注意版本号2025.0.0
2.安装依赖 和 编译
-
编译流程中,前2~5点参考的https://github.com/openvinotoolkit/openvino/blob/2025.0.0/docs/dev/build_linux.md
-
编译和构建软件之前,安装必要的开发工具和库:
sudo apt install build-essential -y
-
OpenVINO 包含一些子模块,还需要更新,国内推荐使用gitee:(时间稍长 须作等待)
cd openvino chmod +x scripts/submodule_update_with_gitee.sh ./scripts/submodule_update_with_gitee.sh
-
使用项目根目录脚本安装依赖项:
sudo ./install_build_dependencies.sh
-
编译的准备工作:
mkdir build && cd build
-
OpenVINO Runtime使用基于CMake的构建系统。在创建的构建目录中,运行cmake获取项目依赖关系并创建Unix makefile,然后运行make构建项目:
cmake -DCMAKE_BUILD_TYPE=Release .. cmake --build . --parallel 4
( 通过 nproc 命令查询到 CPU 核心数为 4 )编译时间漫长,成功后显示如下:
3.安装项目
-
目的: 将编译结果安装到系统指定位置。
-
在 build 文件下执行安装命令:
sudo cmake --install .
文件会被安装到
/usr/local
如果只是运行 sample,可以跳过此步,直接使用构建目录中的文件。但建议规范安装好完整项目,从/usr/local/sample
下获取 sample 源码和编译文件。 -
此时注意到:
/usr/local/include
为 openvino 规范的头文件路径,/usr/local/lib/intel64/
为规范的库文件路径。在 install 之前,二者的路径为/源码/src/bindings/c/include
以及/bin/intel64/Release
,使用它们并不规范!
4.配置环境变量
-
目的: 告诉系统的动态链接器等(ld.so)在运行时查找共享库(.so 文件)的额外路径。在 OpenVINO 的例子中,
/usr/local/lib/intel64/
包含编译后的动态库(如 libopenvino.so),程序运行时需要这些库。如果这个路径没有被正确设置,运行程序时可能会遇到错误。openvino 提供了配置脚本/usr/local/setupvars.sh
,执行 source 命令启动它:source /usr/local/setupvars.sh
注意:
-
不能直接执行
./usr/local/setupvars.sh
。因为./setupvars.sh
会在一个新的子 Shell 进程中执行脚本。脚本中设置的环境变量只在子进程中生效,子进程结束后,这些修改不会传递回父 Shell(即你的当前终端)。 -
OpenVINO 的
setupvars.sh
脚本也是临时的,除非你每次打开终端都运行它,否则需要手动永久设置。 -
永久设置:(设置需要用到的环境变量)
vim ~/.bashrc # .bashrc末尾添加 export LD_LIBRARY_PATH=/usr/local/runtime/3rdparty/tbb/lib:/usr/local/runtime/lib/intel64:$LD_LIBRARY_PATH export PYTHONPATH=/usr/local/python:/usr/local/python/python3:$PYTHONPATH
-
5.编译 Sample
-
在
<INSTALL_DIR>/samples/c
下执行source build_samples.sh
命令,如下所示: -
根据编译结果的提示,找到二进制可执行文件路径
/home/ubuntu/openvino_c_samples_build/intel64/Release
-
准备好模型文件
alexnet.xml
和alexnet.bin
之后,准备一张png
图片 -
运行程序,结果如下即为运行成功:
总结
本文描述了从 GitHub 获取 OpenVINO 源码并运行Demo的过程,也可简化为以下几个核心步骤:
- 克隆源码:使用
git clone
下载项目到本地。 - 阅读文档:查看
README.md
,了解项目的安装、依赖和构建说明。 - 安装依赖:根据项目需求,安装必要的工具和库。
- 构建项目:使用构建工具(如CMake、Make)编译源码。
- 配置环境:设置环境变量或路径,确保项目正常运行。
- 运行Demo:执行Demo,验证项目功能。
每个项目的具体步骤可能会有所不同,但遵循这个通用流程可以帮助你快速上手大多数开源项目。无论是学习新技术、参与开源社区,还是将开源项目应用于实际工作中,掌握这些基本操作都是非常重要的。