如何在 Ubuntu 20.04 中设置 OPENVINO 以使用英特尔 movidius NCS?

如何在 Ubuntu 20.04 中设置 OPENVINO 以使用英特尔 movidius NCS?

Ubuntu 20.04 不支持安装英特尔 OPENVINO 工具包。我尝试了工具包 2020.3.194

答案1

我已成功在 Kubuntu20.04 中设置 OPENVINO。我所遵循的步骤如下所述。

$ sudo apt-get install libopencv-dev python3-opencv python3 python3-pip python3-virtualenv libgfortran5
$ git clone https://github.com/openvinotoolkit/openvino.git

(哈希值-95677afe29206af7219a7648728f880667bcd989)

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:openvino/bin/intel64/Release/lib 
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:openvino/build/lib 
$ cd openvino
$ git submodule update --init --recursive
$ chmod +x install_dependencies.sh
$ ./install_dependencies.sh
$ mkdir build && cd build

您必须在继续之前对代码进行一些更改

(+ 表示添加,- 表示删除)

(1)文件-/scripts/setupvars/setupvars.sh

第 97 行

  if [ -z "$python_version" ]; then
+    if command -v python3.8 >/dev/null 2>&1; then
+        python_version=3.8
+        python_bitness=$(python3.8 -c 'import sys; print(64 if sys.maxsize > 2**32 else 32)')
-    if command -v python3.7 >/dev/null 2>&1; then    
+    elif command -v python3.7 >/dev/null 2>&1; then
        python_version=3.7
        python_bitness=$(python3.7 -c 'import sys; print(64 if sys.maxsize > 2**32 else 32)')    
    elif command -v python3.6 >/dev/null 2>&1; then   

129 行

 if [ ! -z "$python_version" ]; then
-    if [ "$python_version" != "2.7" ]; then
-         add path to OpenCV API for Python 3.x
-        export PYTHONPATH="$INTEL_OPENVINO_DIR/python/python3:$PYTHONPATH"
-    fi
     # add path to Inference Engine Python API
     export PYTHONPATH="$INTEL_OPENVINO_DIR/python/python$python_version:$PYTHONPATH"
 fi

(2)文件-/inference-engine/src/gna_plugin/gna_helper.cpp

函数 profilerRtcStart(intel_gna_profiler_rtc *p) 中的第 59 行

-ftime(&p->start);
+timespec start;
+clock_gettime(CLOCK_REALTIME, &start);
+p->start.time = start.tv_sec;
+p->start.millitm = start.tv_nsec/1000000;

函数 profilerRtcStop(intel_gna_profiler_rtc *p) 中的第 68 行

-ftime(&p->stop);
+timespec stop;
+clock_gettime(CLOCK_REALTIME, &stop);
+p->stop.time = stop.tv_sec;
+p->stop.millitm = stop.tv_nsec/1000000;

(3)文件-/inference-engine/thirdparty/ade/sources/ade/source/execution_engine.cpp

函数 std::unique_ptr ExecutionEngine::createExecutable(const Graph& graph) 中的第 140 行

-return std::move(ret);
+return ret;

(4)文件- /model-optimizer/install_prerequisites/install_prerequisites

75 行

-sudo -E apt -y install python3-pip python3-venv libgfortran3
+sudo -E apt -y install python3-pip python3-virtualenv libgfortran5

前往构建文件夹。

$ cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CLDNN=OFF -D OpenCV_DIR=/usr/lib/x86_64-linux-gnu/cmake/opencv4  -DENABLE_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so -DPYTHON_INCLUDE_DIR=/usr/include/python3.8  ..

注意:选项 -DENABLE_CLDNN=OFF 禁用 GPU

$ make --jobs=$(nproc --all)
$ sudo make install
$ sudo ldconfig
$ cd ../model-optimizer

如果您的 /tmp 目录没有足够的空间(需要超过 4 GB),则为 python 分配一个备用临时文件夹。运行export TMPDIR=<folder>

$ pip3 install -r requirements.txt 
$ cd install_prerequisites
$ ./install_prerequisites.sh
$ cd ..
$ cat <<EOF > 97-myriad-usbboot.rules
SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
EOF
$ sudo cp 97-myriad-usbboot.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
$ sudo ldconfig

至此 openvino 的安装已经结束。

  1. 已编译的 c 和 c++ 示例位于文件夹 ~/inference_engine_samples_samples_build/intel64/Release/ 中
  2. python 示例位于文件夹 - /usr/local/deployment_tools/inference_engine/samples/python/
  3. 安装不会将 model-optimizer(/model-optimizer)复制到根目录中

如需更多示例,请下载 open_model_zoo

  1. git 克隆https://github.com/opencv/open_model_zoo.git
  2. 转到 <open_model_zoo 文件夹>/demos/ 并运行 ./build_demos.sh
  3. 编译后的 c 和 c++ 示例进入文件夹 ~/omz_demos_build/intel64/Release/
  4. <open_model_zoo 文件夹>/tools/downloader/ 包含用于下载模型的 downloader.py。默认情况下,下载器下载“<open_model_zoo 文件夹>/tools/downloader/public”或“<open_model_zoo 文件夹>/tools/downloader/intel”文件夹中的模型

在使用 model-optimizer 或 python 示例之前,请确保运行

$ source /usr/local/bin/setupvars.sh

答案2

由于我无法评论 Liju G. Chacko 的回答:

在cmake步骤中,出现以下错误:

CMake Error at inference-engine/cmake/dependencies.cmake:240 (message):
      OpenCV is not available on current platform
Call Stack (most recent call first):
      inference-engine/CMakeLists.txt:18 (include)

../inference-engine/cmake/dependencies.cmakeOpenCV 已安装,因此更改“修复”中的第 240 行:

else()
-  message(FATAL_ERROR "OpenCV is not available on current platform")
+  set(OPENCV_SUFFIX "ubuntu20")
endif()

另外,最后一步有两个打字错误

$ source /usr/local/bin/setupvars.sh

在第 101 行,有一个“eliif”而不是“elif”,并且应该注释掉第 131 行。

除此之外,效果非常好。

相关内容