This example program that shows how to determine the fps (frames per second or inferences per second) that you are achieving with your current configuration for a specified network and image set.
The example uses 3 threads per NCS device and creates 6 async inference requests per thread by default. The sample will also run 1k inferences using GoogLeNet by default.
The provided Makefile does the following:
- Builds the IR files for the default model. Note: To run on other networks use the commandline make arguments XML and BIN to specify an IR model that has already been built.
- Copies the IR files from the model directory to the project base directory.
- Runs the sample.
To run the example code with default settings do the following :
- Open a terminal and change directory to the project base directory
- Type the following command in the terminal:
The benchmark_ncs.py program itself has some options that aren’t accessible via the make file. To get a list of commandline options type the following command:
python3 benchmark_ncs.py help. Then you can try the different options listed in the help by invoking the program in the same way (directly through the python interpreter).
Note: The CPU device can be used with the example using the command:
make run DEV=CPU
Note: Other models can be used with the example by using the XML and BIN commandline options.
Example of running benchmark_ncs on AlexNet:
make run XML=../../caffe/AlexNet/alexnet.xml BIN=../../caffe/AlexNet/alexnet.bin
This code example requires that the following components are available:
- 1 or more NCS devices
- OpenVINO 2020.1 Toolkit
*It may run with older versions but you may see some glitches such as the GUI Window not closing when you click the X in the title bar, and other key binding issues.
Note: All development and testing has been done on Ubuntu 16.04 on an x86-64 machine.
Provided Makefile has various targets that help with the above mentioned tasks.
Runs the sample application.
Shows available targets.
Builds and/or gathers all the required files needed to run the application.
Gathers all of the required data need to run the sample.
Builds all of the dependencies needed to run the sample.
Compiles an IR file from a default model to be used when running the sample.
Checks required packages that aren’t installed as part of the OpenVINO installation.
Uninstalls requirements that were installed by the sample program.
Removes all the temporary files that are created by the Makefile.