开发者实战 | 在 Ubuntu 上搭建 OpenVINO™ C++ 程序开发环境

点击蓝字

关注我们,让开发变得更有

以下文章来源于英特尔物联网,作者广东荣旭智能技术有限公司 伍增  邓书梦  

在应用 Anomalib 和 OpenVINO™ 实现瑕疵检测的过程中,经常会在 Ubuntu 下训练并部署 AI 模型。笔者一直在 Windows 上开发程序,比较喜欢 Visual Studio 这种集成开发环境,为了在 Ubuntu 上也能拥有类似 Visual Studio 的开发体验,笔者探索出基于 Anaconda 和 VS Code,搭建 OpenVINO™ C++ 程序开发环境的方式。

在搭建 C++ 程序开发环境前,请参考《英特尔开发者套件 + OpenVINO™ (Anomalib)搭建 AI 缺陷检测开发环境》安装 Anaconda 和 VS Code。

整个搭建过程分为五步,本文依次介绍:

1. 安装 GCC 编译器

2. 安装 C/C++ Extension Pack 插件

3. 安装 OpenVINO™ Runtime

4. 为 IntelliSense 配置 Include path

5. 基于 CMake 编译和构建 OpenVINO™ C++ 程序

01

安装 GCC 编译器

GCC 是 Linux 平台上广泛使用的 C++ 编译器,请使用命令完成 GCC 安装:

sudo apt update
sudo apt install build-essential gdb

运行: gcc --version, 确认 GCC 已经安装成功,如图1-1所示。

fbdb3daa522852cfa604e5d8326d36ab.png

图1-1 GCC已安装成功

02

安装 C/C++ Extension Pack 插件

C/C++ Extension Pack 是微软官方发布的用于 C/C++ 程序开发、编译和调试的 VS Code 插件,它包含 C/C++, C/C++ Themes, CMake 和 CMake Tools 四个插件。

首选切换到 Extensions,然后搜索“C/C++”,找到 C/C++  Extension Pack 插件后,点击“Install”按钮,完成安装,如图1-2所示。

4aa767046b723eb4a13028a32cb0a931.png

图1-2 查找并安装 C/C++ 插件

配置 C++ 调试环境

451d6d0bb08c6a79459f441c3180dee8.gif

第一步,请新建一个名叫 ov_cpp 的文件夹,并新建一个名叫 hello_world.cpp 文件,如图1-3所示。

de455e8b118b4867fe9e1cb4b12a9279.png

图1-3 新建 hello_world.cpp 文件

第二步,在行号左边的空白处单击鼠标左键,添加一个断点,然后使用快捷键“F5”启动调试,若出现调试工具栏,并能单步运行程序,如图1-4所示,说明 C++ 调试环境已由 VS Code 自动配置成功。

051731344ab2b6f42de6897d8248f46b.png

图1-4 启动调试

03

安装 OpenVINO™ Runtime

在 Linux 平台,OpenVINO™ Runtime 提供 Conda 方式便捷安装 OpenVINO™ Runtime,假设读者已按照《英特尔开发者套件 + OpenVINO™ (Anomalib)搭建 AI 缺陷检测开发环境》创建并激活了名叫 ov 虚拟环境,使用命令完成 OpenVINO™ Runtime 安装,如图1-5所示:

conda update --all
conda install -c conda-forge openvino

d81eea395d25531c0ead9c3e0c2b6fb1.png

图1-5 安装OpenVINO™ Runtime

04

为 IntelliSense 配置 Include path

IntelliSense 是 VS Code 中的代码自动补全工具,安装完OpenVINO™ Runtime后,需要将 OpenVINO™ Runtime的头文件路径填入“Include path”,IntelliSense 才能自动补全 OpenVINO™ Runtime API 函数。

首先,请用 locate 命令查看 openvino.hpp 和 libopenvino.so 的位置,如图1-6所示。

4edcf2a93ee3ab9c5fbaefd6e94f4073.png

图1-6 查看 openvino.hpp和 libopenvino.so 的位置

然后,将 OpenVINO™ Runtime 的头文件路径加入 VS Code 中“Include path”,如图1-7所示。

6f7c1b3dba653e9502673c2b04ae03ff.png

图1-7  IntelliSense 的搜索路径

使用快捷键“ctrl+shift+p”启动命令面板,然后搜索“c/c++ edit configuration(UI)”,

把“/home/ov/anaconda3/envs/ov/include”添加到“Include path”,如图1-8所示。

fafaa581e6b315e1389b588c7a5c852e.png

图1-8 添加 OpenVINO™ Runtime 头文件路径到 Include path

05

基于 CMake 编译和

构建 OpenVINO™ C++ 程序

在 Linux 平台上,用 CMake 来配置 C++ 程序的编译和构建过程是最方便的。首先使用命令,安装 cmake:

sudo apt update
sudo apt install cmake

参考《Get started with CMake Tools on Linux》(复制网址到浏览器打开):

https://code.visualstudio.com/docs/cpp/CMake-linux

通过快捷键:Ctrl+Shift+P,启动命令面板,然后运行命令:CMake: Quick Start,快速创建一个带 CMakeLists.txt 和 build 文件夹的项目,并在 CMakeLists.txt 添加 OpenVINO™ Runtime 库,如图1-9所示。

bf291c0683fd2b20904551a0094c4c82.png

图1-9 在 CMakeLists.txt 中添加 OpenVINO™ Runtime 库

接着,新建 main.cpp 文件,依次点击状态栏中的 Build  和 运行 完成 OpenVINO™ C++ 程序的编译,可执行文件生成和运行,如图1-10所示。

程序清单 1-1 main.cpp

#include <iostream>
#include <openvino/openvino.hpp>
int main(int, char**){
    
    // -------- Get OpenVINO runtime version --------
    std::cout << ov::get_openvino_version().description << ':' << ov::get_openvino_version().buildNumber << std::endl;
    // -------- Step 1. Initialize OpenVINO Runtime Core --------
    ov::Core core;
    // -------- Step 2. Get list of available devices --------
    std::vector<std::string> availableDevices = core.get_available_devices();
    // -------- Step 3. Query and print supported metrics and config keys --------
    std::cout << "Available devices: " << std::endl;
    for (auto&& device : availableDevices) {
        std::cout << device << std::endl;
    }
}

向右滑动查看完整代码

8bfa89102799805b9d207ebc61b1d090.png

图1-10 构建并运行 OpenVINO™ C++ 程序

06

总结

本文详细介绍了在 Ubuntu22.04 LTS 下安装OpenVINO™ Runtime、CMake 和 VS Code 工具的全过程,并完成了 OpenVINO™ C++ 代码开发环境的搭建。通过 VS Code 和 CMake 工具,开发者可以快速实现 OpenVINO™ C++ 代码的编写、编译、调试和运行。

读者有进一步的需求,欢迎点击阅读原文进入广东荣旭智能技术有限公司官网了解详细信息。

--END--

你也许想了解(点击蓝字查看)⬇️➡️ OpenVINO™ DevCon 2023重磅回归!英特尔以创新产品激发开发者无限潜能➡️ 5周年更新 | OpenVINO™  2023.0,让AI部署和加速更容易➡️ OpenVINO™5周年重头戏!2023.0版本持续升级AI部署和加速性能➡️ OpenVINO™2023.0实战 | 在 LabVIEW 中部署 YOLOv8 目标检测模型➡️ 开发者实战系列资源包来啦!➡️ 以AI作画,祝她节日快乐;简单三步,OpenVINO™ 助你轻松体验AIGC
➡️ 还不知道如何用OpenVINO™作画?点击了解教程。➡️ 几行代码轻松实现对于PaddleOCR的实时推理,快来get!➡️ 使用OpenVINO 在“端—边—云”快速实现高性能人工智能推理➡️ 图片提取文字很神奇?试试三步实现OCR!➡️【Notebook系列第六期】基于Pytorch预训练模型,实现语义分割任务➡️使用OpenVINO™ 预处理API进一步提升YOLOv5推理性能
扫描下方二维码立即体验 
OpenVINO™ 工具套件 2023.0

点击 阅读原文 立即体验OpenVINO 2023.0

c7f4e442e126fc1f9952e7f4b4d237d1.png

文章这么精彩,你有没有“在看

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值