Ubuntu16.04 LTS编译OpenVINO 2021.4

Ubuntu16.04 LTS编译OpenVINO 2021.4,第1张

安装前提

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下的文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/567995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存