安装前提
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 设置成系统默认。
- 新建安装目录
mkdir ~/opt
- 下载 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
- 注意这里把安装目录更改成刚刚新建的~/opt目录了
./bootstrap --prefix=/home/username/opt
- 编译。
make -j6
- 安装。如果有权限问题,就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编译安装
- git clone openvino
git clone git@github.com:openvinotoolkit/openvino.git
cd openvino
- git checktout 对应的版本,比如
git checkout 2021.4
- init and build
git submodule update --init --recursive
mkdir build
cd build
- 用下面的命令来运行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
- 编译,其中-j*是指用多少个线程来编译,注意线程过多或者内存太小就会遇到out of memory问题。如果报错Cannot allocate memory,可参考这里。或者可以使用少一点线程如-j2。
make -j6
2. 安装
make install
- 这时openvino就会被安装到 /home/username/repos/opensource/openvino/build/openvino_lib。其中:
- 运行下面命令设置openvino的环境变量。需要设置一个参数 -pyver 传入python版本否则会报错 ERROR: Unsupported Python version
source /home/username/repos/opensource/openvino/build/openvino_lib/bin/setupvars.sh -pyver 3.8
- /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下的文件。