当前位置:   article > 正文

【openvino】Ubuntu18.04环境,源码环境下实现自己的第一个样例_ubuntu18.04 源码 openvino.hpp

ubuntu18.04 源码 openvino.hpp

一. 了解Openvino源码工程的samples构建

本文标题是实现自己的第一个样例,这是了解学习openvino工具的第一步,自己编写的样例能跑起来,那么后面的学习和调试就方便了很多。
那么首先,不管自己写一个怎样的样例,一定要把它添加进cmake工程中,以保证自己写的代码在openvino的代码环境下可以成功编译出二进制。

接下来的操作主要是讲一下如何构建openvino官方自带的用例:

  1. Openvino源码已经编译完成,并且使用如下命令安装到了某一目录下:
cmake --install . --prefix <INSTALLDIR>
  • 1
  1. 配置opencv的环境变量(注意,这一步必须要在构建sample之前进行,如果不配置opencv环境变量,构建sample也可以成功,但是你的程序将不能使用opencv去处理图片)。 这里我是使用apt安装的openvino,然后安装脚本自动安装的opencv,所以我直接参考了openvino分发包中setupvar.sh环境变量的配置方式:
if [ -e "$INSTALLDIR/opencv" ]; then
    if [ -f "$INSTALLDIR/opencv/setupvars.sh" ]; then
        echo "directly source opencv shell env....."
        echo "$INSTALLDIR"
        source "$INSTALLDIR/opencv/setupvars.sh"
    else
        echo "manually export opencv env"
        export OpenCV_DIR="$INSTALLDIR/opencv/share/OpenCV"
        export LD_LIBRARY_PATH="$INSTALLDIR/opencv/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
        export LD_LIBRARY_PATH="$INSTALLDIR/opencv/share/OpenCV/3rdparty/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
    fi
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

进而在自己的setupvar.sh中添加了如下命令,每次source环境变量配置脚本时都可以自动配置opencv环境变量:

export OpenCV_DIR=/opt/intel/openvino_2021/opencv/cmake
export LD_LIBRARY_PATH=/opt/intel/openvino_2021/opencv/lib:$LD_LIBRARY_PATH
  • 1
  • 2
  1. 在刚刚的INSTALLDIR中,执行如下命令:
source setupvars.sh
mkdir build && cd build
cmake ../samples/cpp
make -j8
  • 1
  • 2
  • 3
  • 4

至此,在你刚刚创建的build目录下,就生成了openvino所有的自带样例。样例的可执行程序就在build目录下的intel64目录下,执行如下命令就可以看到成功运行了一个样例:

cd $INSTALL_DIR
cd build/intel64
./classification_sample_async -i /opt/intel/openvino_2021/deployment_tools/demo/car.png -m ~/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml -d CPU
  • 1
  • 2
  • 3

当然,执行前不要忘记source环境变量。

二. 添加自己的sample到样例工程中

上一节主要在讲构建已有的官方用例。
这一节讲一下把自己的用例添加到样例工程中运行。
假设现在你有一个基于openvino的推理程序,包含了: main.cpp和infer.h,
那么你只需要再写一个CMakeLists.txt,包含一下内容:

ie_add_sample(NAME test
              SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/main.cpp"
              HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/infer.h"
              DEPENDENCIES format_reader ie_samples_utils)

  • 1
  • 2
  • 3
  • 4
  • 5

然后将上面一共三个文件放到一个目录,如起名叫my_sample, 再将my_sample目录放到安装目录下的samples/cpp下,接着执行上一节讲的官方用例构建。就可以把自己的用例一起构建了。构建出的二进制,同样在 intel64目录下。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/839738
推荐阅读
相关标签
  

闽ICP备14008679号