Ubuntu16.04 LTS编译OpenVINO 2021.4

2024-01-15 02:50

本文主要是介绍Ubuntu16.04 LTS编译OpenVINO 2021.4,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装前提

Ubuntu 版本: 16.04 LTS

安装 OpenVINO 的最终目的是实现 OpenVINO 推理节点的配置。由于当前推理节点的配置需要我们使用 Ubuntu 16.04 LTS,我们安装配置 OpenVINO 的整体过程都是在 ubuntu16 上进行的。

安装 Python 3.8

先确定ubuntu16下面自带的python版本,因为openvino安装依赖的时候需要用到python3.6以上的版本。不出意外的话,ubuntu16自带的只有python2.7和3.5版本。如果不手动调整为python3.6以上,很多依赖会安装失败导致openvino安装异常。但请不要手动改变系统默认值。

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.8 python3.8-dev

更新 pip

sudo apt-get install python3.8-distutils
wget https://bootstrap.pypa.io/get-pip.py 
sudo python3.8 get-pip.py

安装新版本 cmake

OpenVINO 要求 cmake 3.10 版本以上,但是 ubuntu16.04 自带的是 cmake 3.5 并且推理节点编译要求 cmake 3.5。所以我们需要安装新的 cmake 来编译 OpenVINO 但请不要把新的 cmake 设置成系统默认。

  1. 新建安装目录
mkdir ~/opt
  1. 下载 cmake
cd ~/Downloads
wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4.tar.gz
tar -xzvf cmake-3.21.4.tar.gz
cd cmake-3.21.4
  1. 注意这里把安装目录更改成刚刚新建的~/opt目录了
./bootstrap --prefix=/home/username/opt
  1. 编译。
make -j6

  1. 安装。如果有权限问题,就sudo。
make install


手动编译

如上所述,OpenVINO 2020 以后的版本无论是对 python 还是 cmake 都有最低的要求,ubuntu 16.04 无法满足这些需求,所以明面上 OpenVINO 2020 以上的版本并不支持 ubuntu 16.04,因此有时官网上的安装说明可能并不适用于 ubuntu 16.04。此外,OpenVINO 的官方预编译安装带的是intel版本的预编译库,可能会在amd等平台上出问题。所以有时在 ubuntu 16.04 上或者 amd 机器上需要自己编译 OpenVINO。

OpenVINO 2021.4编译安装

  1. git clone openvino
git clone git@github.com:openvinotoolkit/openvino.git
cd openvino
  1. git checktout 对应的版本,比如
git checkout 2021.4
  1. init and build
git submodule update --init  --recursive
mkdir build
cd build
  1. 用下面的命令来运行cmake,注意我调用的是自己安装的新版本cmake,请相应地修改路径:
  • cmake路径: ~/opt/bin/cmake
  • CMAKE_INSTALL_PREFIX: /home/username/repos/opensource/openvino/build/openvino_lib
~/opt/bin/cmake -DCMAKE_BUILD_TYPE=Release \
-DENABLE_CLDNN=ON \
-DENABLE_MKL_DNN=ON \
-DENABLE_PYTHON=ON \
-DPYTHON_EXECUTABLE=`which python3.8` \
-DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.8 \
-DCMAKE_INSTALL_PREFIX=/home/username/repos/opensource/openvino/build/openvino_lib ..

如果命令中途中出错,需将build文件夹删掉再重新来一遍。

如报错 Could NOT find Cython (missing: CYTHON_EXECUTABLE),安装cyphon即可:

python3.8 -m pip install Cython
  1. 编译,其中-j*是指用多少个线程来编译,注意线程过多或者内存太小就会遇到out of memory问题。如果报错Cannot allocate memory,可参考这里。或者可以使用少一点线程如-j2。
make -j6

    2. 安装 

make install
  1. 这时openvino就会被安装到 /home/username/repos/opensource/openvino/build/openvino_lib。其中:
  2. 运行下面命令设置openvino的环境变量。需要设置一个参数 -pyver 传入python版本否则会报错 ERROR: Unsupported Python version
    source /home/username/repos/opensource/openvino/build/openvino_lib/bin/setupvars.sh -pyver 3.8

  3.   /home/username/repos/opensource/openvino/build/openvino_lib/deployment_tools 里面是我们编译推理节点需要的so文件和头文件。需要将其复制并替换 /home/username/repos/ws_infer/src/ros_openvino_infer/internal_deps/openvino_lib/openvino下的文件。

这篇关于Ubuntu16.04 LTS编译OpenVINO 2021.4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607404

相关文章

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码

Golang test编译使用

创建文件my_test.go package testsimport "testing"func TestMy(t *testing.T) {t.Log("TestMy")} 通常用法: $ go test -v -run TestMy my_test.go=== RUN TestMyTestMy: my_test.go:6: TestMy--- PASS: TestMy (0.

C++/《C/C++程序编译流程》

程序的基本流程如图:   1.预处理        预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同。 读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理将所有的“#define”删除,并且展开所有的宏定义处理所有的条件编译指令,如:“#if”、“

编译linux内核出现 arm-eabi-gcc: error: : No such file or directory

external/e2fsprogs/lib/ext2fs/tdb.c:673:29: warning: comparison between : In function 'max2165_set_params': -。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。 。。。。。。。。 host asm: libdvm <= dalvik/vm/mterp/out/Inte

QT 编译报错:C3861: ‘tr‘ identifier not found

问题: QT 编译报错:C3861: ‘tr’ identifier not found 原因 使用tr的地方所在的类没有继承自 QObject 类 或者在不在某一类中, 解决方案 就直接用类名引用 :QObject::tr( )