The Inference Engine sample applications are simple console applications that demonstrate how you can use the Inference Engine in your applications.
The OpenVINO™ toolkit sample and demo applications are available in the <INSTALL_DIR>/deployment_tools/inference_engine/samples
directory. The difference between samples, tools and demos is the following:
The OpenVINO™ toolkit includes the following samples and tools:
The OpenVINO™ toolkit includes the following demos:
Detectron
or maskrcnn-benchmark
.<INSTALL_DIR>/deployment_tools/inference_engine/samples/python_samples
)*.To run the sample applications, you can use images and videos from the media files collection available at https://github.com/intel-iot-devkit/sample-videos.
You can download the pre-trained models using the OpenVINO Model Downloader or from https://download.01.org/opencv/. The table below shows the correlation between models, samples, and supported plugins. The plugin names are exactly as they are passed to the samples with -d
option. The correlation between the plugins and supported devices see in the Supported Devices section. The samples are available in <INSTALL_DIR>/deployment_tools/inference_engine/samples
.
Model | Samples supported on the model | CPU | GPU | MYRIAD/HDDL | HETERO:FPGA,CPU |
---|---|---|---|---|---|
action-recognition-0001-decoder | Action Recognition Demo | Supported | Supported | ||
action-recognition-0001-encoder | Action Recognition Demo | Supported | Supported | ||
driver-action-recognition-adas-0002-decoder | Action Recognition Demo | Supported | Supported | ||
driver-action-recognition-adas-0002-encoder | Action Recognition Demo | Supported | Supported | Supported | |
resnet50-binary-0001 |
Classification Sample, Classification Sample Async |
Supported | Supported | ||
person-attributes-recognition-crossroad-0230 | Crossroad Camera Demo | Supported | Supported | Supported | |
person-reidentification-retail-0031 | Crossroad Camera Demo | Supported | Supported | Supported | Supported |
person-reidentification-retail-0076 | Crossroad Camera Demo | Supported | Supported | Supported | Supported |
person-reidentification-retail-0079 | Crossroad Camera Demo | Supported | Supported | Supported | Supported |
person-vehicle-bike-detection-crossroad-0078 | Crossroad Camera Demo | Supported | Supported | Supported | Supported |
human-pose-estimation-adas-0001 | Human Pose Estimation Demo | Supported | Supported | Supported | |
semantic-segmentation-adas-0001 | Image Segmentation Demo | Supported | Supported | Supported | |
instance-segmentation-security-0033 | Instance Segmentation Demo | Supported | Supported | Supported | |
instance-segmentation-security-0049 | Instance Segmentation Demo | Supported | Supported | Supported | |
age-gender-recognition-retail-0013 | Interactive Face Detection Demo | Supported | Supported | Supported | Supported |
emotions-recognition-retail-0003 | Interactive Face Detection Demo | Supported | Supported | Supported | Supported |
face-detection-adas-0001 | Interactive Face Detection Demo | Supported | Supported | Supported | Supported |
face-detection-adas-binary-0001 | Interactive Face Detection Demo | Supported | Supported | ||
face-detection-retail-0004 | Interactive Face Detection Demo | Supported | Supported | Supported | Supported |
facial-landmarks-35-adas-0002 | Interactive Face Detection Demo | Supported | Supported | Supported | |
head-pose-estimation-adas-0001 | Interactive Face Detection Demo | Supported | Supported | Supported | Supported |
license-plate-recognition-barrier-0001 | Security Barrier Camera Demo | Supported | Supported | Supported | Supported |
vehicle-attributes-recognition-barrier-0039 | Security Barrier Camera Demo | Supported | Supported | Supported | Supported |
vehicle-license-plate-detection-barrier-0106 | Security Barrier Camera Demo | Supported | Supported | Supported | Supported |
face-reidentification-retail-0095 | Smart Classroom Demo | Supported | Supported | Supported | Supported |
landmarks-regression-retail-0009 | Smart Classroom Demo | Supported | Supported | Supported | Supported |
person-detection-action-recognition-0005 | Smart Classroom Demo | Supported | Supported | Supported | |
person-detection-action-recognition-teacher-0002 | Smart Classroom Demo | Supported | Supported | Supported | |
single-image-super-resolution-1032 | Super Resolution Demo | Supported | Supported | Supported | |
single-image-super-resolution-1033 | Super Resolution Demo | Supported | Supported | Supported | |
text-detection-0002 | Text Detection Demo | Supported | Supported | Supported | |
text-recognition-0012 | Text Detection Demo | Supported | Supported | ||
face-person-detection-retail-0002 | any demo that supports SSD*-based models, above | Supported | Supported | Supported | Supported |
pedestrian-and-vehicle-detector-adas-0001 | any demo that supports SSD*-based models, above | Supported | Supported | Supported | Supported |
pedestrian-detection-adas-0002 | any demo that supports SSD*-based models, above | Supported | Supported | Supported | Supported |
pedestrian-detection-adas-binary-0001 | any demo that supports SSD*-based models, above | Supported | Supported | ||
person-detection-retail-0002 | any demo that supports SSD*-based models, above | Supported | Supported | Supported | Supported |
person-detection-retail-0013 | any demo that supports SSD*-based models, above | Supported | Supported | Supported | Supported |
road-segmentation-adas-0001 | any demo that supports SSD*-based models, above | Supported | Supported | Supported | Supported |
vehicle-detection-adas-binary-0001 | any demo that supports SSD*-based models, above | Supported | Supported | ||
vehicle-detection-adas-0002 | any demo that supports SSD*-based models, above | Supported | Supported | Supported | Supported |
*Several C++ samples referenced above have simplified equivalents in Python (<INSTALL_DIR>/deployment_tools/inference_engine/samples/python_samples
)*.
Notice that the FPGA support comes through a heterogeneous execution, for example, when the post-processing is happening on the CPU.
The officially supported Linux* build environment is the following:
Use the following steps to build sample application on Linux:
NOTE: If you have installed the product as a root user, switch to root mode before you continue:
sudo -i
build
: NOTE: If you ran the Image Classification demo, the samples build directory was already created in your home directory:
/home/<user>/inference_engine_samples_build/
make
to build the samples: For the release configuration, the sample application binaries are in <path_to_build_directory>/intel64/Release/
; for the debug configuration — in <path_to_build_directory>/intel64/Debug/
.
The recommended Windows* build environment is the following:
NOTE: If you want to use Microsoft Visual Studio 2019, you are required to install CMake 3.14.
To build the sample applications for Windows, run the build_samples_msvc.bat
batch file:
By default, the script automatically detects the newest Microsoft Visual Studio version installed on the machine and uses it to create and build a solution for a sample code. Optionally, you can also specify the preffered Microsoft Visual Studio version to be used by the script. Supported versions are: VS2015
, VS2017
, VS2019
. For example, to build the samples using the Microsoft Visual Studio 2017, use the following command:
The sample applications binaries are in the C:\Users\<username>\Documents\Intel\OpenVINO\inference_engine_samples_build\intel64\Release
directory.
You can also build a generated solution by yourself, for example, if you want to build binaries in Debug configuration. Run the appropriate version of the Microsoft Visual Studio and open the generated solution file from the C:\Users\<username>\Documents\Intel\OpenVINO\inference_engine_samples_build\Samples.sln
directory.
Before running compiled binary files, make sure your application can find the Inference Engine and OpenCV libraries. Run the setupvars
script to set all necessary environment variables:
**(Optional)**: The OpenVINO environment variables are removed when you close the shell. As an option, you can permanently set the environment variables as follows:
.bashrc
file in <user_home_directory>
: :wq
and press the Enter key.[setupvars.sh] OpenVINO environment initialized
.You are ready to run sample applications. To learn about how to run a particular sample, read the sample documentation by clicking the sample name in the samples list above.
Before running compiled binary files, make sure your application can find the Inference Engine and OpenCV libraries. Use the setupvars
script, which sets all necessary environment variables:
To debug or run the samples on Windows in Microsoft Visual Studio, make sure you have properly configured Debugging environment settings for the Debug and Release configurations. Set correct paths to the OpenCV libraries, and debug and release versions of the Inference Engine libraries. For example, for the Debug configuration, go to the project's Configuration Properties to the Debugging category and set the PATH
variable in the Environment field to the following:
where <INSTALL_DIR>
is the directory in which the OpenVINO toolkit is installed.
You are ready to run sample applications. To learn about how to run a particular sample, read the sample documentation by clicking the sample name in the samples list above.