推理引擎示例
推理引擎示例应用是简单的控制台应用,显示了如何在应用中利用特定的推理引擎功能,帮助开发人员执行特定的任务,例如加载模型、运行推理、查询特定的设备功能等。
安装英特尔®OpenVINO™工具套件分发版后,С、C++和Python 示例应用分别在以下目录中:
<INSTALL_DIR>/inference_engine/samples/c
<INSTALL_DIR>/inference_engine/samples/cpp
<INSTALL_DIR>/inference_engine/samples/python
推理引擎示例应用包括:
- 自动语音识别C++示例 – 基于Kaldi神经网络和语音特征向量的声学模型推理
- 基准应用 – 在支持的设备上为同步和异步模式预估深度学习推理性能
- Hello分类示例 – 使用同步推理请求API的图像分类网络(如AlexNet和GoogLeNet)的推理。可以将任何大小和布局的输入设置为推理请求,该推理请求将在推理过程中自动进行预处理(该示例仅支持将图像作为输入,并支持Unicode路径)。
- Hello NV12输入分类示例 – 可以将任何大小和布局的输入提供给推理请求。该示例将输入转换为NV12颜色格式,并在推理过程中对其进行自动预处理。该示例仅支持图像作为输入。
- Hello查询设备示例 – 查询可用的推理引擎设备及其度量、配置值。
- Hello Reshape SSD C++示例 – 根据一个输入尺寸由ShapeInfer API调整SSD网络的推理尺寸。
- 图像分类示例异步 – 使用异步推理请求API的图像分类网络(如AlexNet和GoogLeNet)的推理(该示例仅支持图像作 为输入)。
- 图像分类Python示例 – 使用同步推理请求API推理图像分类网络(如AlexNet和GoogLeNet)(该示例仅支持图像作为输入)。
- 神经风格迁移示例 – 样式转移示例(该示例仅支持图像作为输入)。
- nGraph函数创建C++示例 – 使用nGraph函数创建示例构建LeNet网络。
- 对象检测SSD示例 – 基于SSD的对象检测网络推理,此示例是简化版本,仅支持图像作为输入。
可用于示例的素材
要运行示例应用,可以使用https://github.com/intel-iot-devkit/sample-videos中收集的图像和视频。
支持预训练模型的示例
可以使用OpenVINO 模型下载器或从https://download.01.org/opencv/下载预训练的模型。
构建示例应用
在Linux上构建示例应用
官方支持的Linux构建环境如下:
- Ubuntu 16.04 LTS 64位或CentOS 7.4 64位
- GCC 5.4.0(对于Ubuntu 16.04)或GCC 4.8.5(对于CentOS 7.4)
- CMake 2.8或更高版本
要为Linux构建C或C ++示例应用,请分别转到<INSTALL_DIR>/inference_engine/samples/c
或<INSTALL_DIR>/inference_engine/samples/cpp
目录,然后运行build_samples.sh
脚本:
build_samples.sh
构建完成后,你可以在以下文件夹中找到示例的二进制文件:
- C语言示例:
~/inference_engine_c_samples_build/intel64/Release
- C ++示例:
~/inference_engine_cpp_samples_build/intel64/Release
你还可以手动构建示例应用:
注意:如果你已以root用户身份安装产品,请先切换到root模式,然后再继续:sudo -i
-
转到具有写访问权限的目录,并创建示例构建目录。本示例使用名为build
的目录:
mkdir build
注意:如果在安装过程中运行了图像分类验证脚本,则C++示例构建目录已在你的主目录中创建:~/inference_engine_samples_build/
-
转到创建的目录:
cd build
-
运行CMake生成用于release或debug配置的Make文件。例如,对于C ++示例:
-
运行make以构建示例:
make
对于release 配置,示例应用的二进制文件位于<path_to_build_directory>/intel64/Release/
中;对于debug配置 — 在<path_to_build_directory>/intel64/Debug/
中。
在Microsoft Windows操作系统上构建示例应用
推荐的Windows 构建环境如下:
- Microsoft Windows 10
- Microsoft Visual Studio 2015、2017或2019
- CMake 2.8或更高版本
注意:如果要使用Microsoft Visual Studio 2019,则需要安装CMake 3.14。
要在Windows上构建C或C++示例应用,请分别转到<INSTALL_DIR>\inference_engine\samples\c
或<INSTALL_DIR>\inference_engine\samples\cpp
目录,然后运行build_samples_msvc.bat
批处理文件:
build_samples_msvc.bat
默认情况下,该脚本会自动检测计算机上安装的最高Microsoft Visual Studio版本,并使用它来创建和构建示例代码的解决方案。你还可以根据需要指定脚本要使用的首选Microsoft Visual Studio版本。支持的版本是VS2015,VS2017和VS2019。例如,要使用Microsoft Visual Studio 2017生成C ++示例,请使用以下命令:
<INSTALL_DIR>\inference_engine\samples\cpp\build_samples_msvc.bat VS2017
构建完成后,你可以在以下文件夹中找到示例的二进制文件:
- C语言示例:
C:\Users\
<user>\Documents\Intel\OpenVINO\inference_engine_c_samples_build\intel64\Release
- C ++示例:
C:\Users\
<user>\Documents\Intel\OpenVINO\inference_engine_cpp_samples_build\intel64\Release
你也可以手动构建生成的解决方案。例如,如果要在Debug配置中构建C++示例的二进制文件,请运行相应版本的Microsoft Visual Studio,然后从C:\Users\<user>\Documents\Intel\OpenVINO\inference_engine_cpp_samples_build\Samples.sln
目录中打开生成的解决方案文件。
准备就绪来运行示例应用
准备在Linux 上运行示例应用
在运行编译的二进制文件之前,请确保你的应用可以找到推理引擎和OpenCV库。运行setupvars
脚本以设置所有必需的环境变量:
source <INSTALL_DIR>/bin/setupvars.sh
可选:关闭shell时,会删除OpenVINO环境变量。你可以如下永久设置环境变量:
- 在
<user_home_directory>
中打开.bashrc
文件:
vi <user_home_directory>/.bashrc
- 将此行添加到文件末尾:
source /opt/intel/openvino/bin/setupvars.sh
- 保存并关闭文件:按Esc键,键入
:wq
并按Enter键。
- 要测试你的更改,请打开一个新终端。你会看到
[setupvars.sh] OpenVINO environment initialized
。
你已准备好运行示例应用。要了解有关如何运行特定的示例,请通过单击上方示例列表中的示例名称来阅读示例文档。
准备在Windows上运行示例应用
在运行编译好的二进制文件之前,请确保你的应用可以找到推理引擎和OpenCV库。使用setupvars
脚本来设置所有必要的环境变量:
<INSTALL_DIR> \ bin \ setupvars.bat
要在Windows中的Microsoft Visual Studio调试或运行示例,请确保已为Debug和Release配置正确配置了Debugging环境设置。为OpenCV库、推理引擎库的debug和releaser版本设置了正确的路径。例如,对于Debug 配置,转到项目的Configuration Properties 配置属性的Debugging 目录,然后将Environment 字段中的PATH
变量设置为以下内容:
PATH=<INSTALL_DIR>\deployment_tools\inference_engine\bin\intel64\Debug;<INSTALL_DIR>\opencv\bin;%PATH%
<INSTALL_DIR>
是OpenVINO工具套件的安装目录。
你已经准备好来运行示例应用。要了解有关如何运行特定示例的信息,请通过单击上方示例列表中的示例名称来阅读示例文档。
还可参阅
英特尔深度学习推理引擎简介