NOTES:
The Intel® Distribution of OpenVINO™ toolkit quickly deploys applications and solutions that emulate human vision. Based on Convolutional Neural Networks (CNN), the toolkit extends computer vision (CV) workloads across Intel® hardware, maximizing performance. The Intel® Distribution of OpenVINO™ toolkit includes the Intel® Deep Learning Deployment Toolkit (Intel® DLDT).
The Intel® Distribution of OpenVINO™ toolkit for Linux* with FPGA Support:
Included with the Installation and installed by default:
Component | Description |
---|---|
Model Optimizer | This tool imports, converts, and optimizes models that were trained in popular frameworks to a format usable by Intel tools, especially the Inference Engine. Popular frameworks include Caffe*, TensorFlow*, MXNet*, and ONNX*. |
Inference Engine | This is the engine that runs the deep learning model. It includes a set of libraries for an easy inference integration into your applications. |
Drivers and runtimes for OpenCL™ version 2.1 | Enables OpenCL on the GPU/CPU for Intel® processors |
Intel® Media SDK | Offers access to hardware accelerated video codecs and frame processing |
Pre-compiled FPGA bitstream samples | Pre-compiled bitstream samples for the Intel® Arria® 10 GX FPGA Development Kit, Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA, and Intel® Vision Accelerator Design with an Intel® Arria 10 FPGA. |
Intel® FPGA SDK for OpenCL™ software technology | The Intel® FPGA RTE for OpenCL™ provides utilities, host runtime libraries, drivers, and RTE-specific libraries and files |
OpenCV version 3.4.2 | OpenCV* community version compiled for Intel® hardware. Includes PVL libraries for computer vision |
OpenVX* version 1.1 | Intel's implementation of OpenVX* 1.1 optimized for running on Intel® hardware (CPU, GPU, IPU) |
Demos and Sample Applications | A set of simple console applications demonstrating how to use the Inference Engine in your applications |
The development and target platforms have the same requirements, but you can select different components during the installation, based on your intended use.
Hardware
Processor Notes:
Operating Systems:
This guide provides step-by-step instructions on how to install the Intel® Distribution of OpenVINO™ toolkit with FPGA Support. Links are provided for each type of compatible hardware including downloads, initialization and configuration steps. The following steps will be covered:
Download the Intel® Distribution of OpenVINO™ toolkit package file from Intel® Distribution of OpenVINO™ toolkit for Linux* with FPGA Support. Select the Intel® Distribution of OpenVINO™ toolkit for Linux with FPGA Support package from the dropdown menu.
Downloads
directory: l_openvino_toolkit_fpga_p_<version>.tgz
.l_openvino_toolkit_fpga_p_<version>
directory.l_openvino_toolkit_fpga_p_<version>
directory: /home/<user>/inference_engine_samples
/home/<user>/openvino_models
Installation Notes:
/opt/intel/openvino_fpga_2019.<version>/
./opt/intel/openvino/
.The first core components are installed. Continue to the next section to install additional dependencies.
These dependencies are required for:
install_dependencies
directory: The dependencies are installed. Continue to the next section to configure the Model Optimizer.
The Model Optimizer is a Python*-based command line tool for importing trained models from popular deep learning frameworks such as Caffe*, TensorFlow*, Apache MXNet*, ONNX* and Kaldi*.
The Model Optimizer is a key component of the Intel Distribution of OpenVINO toolkit. You cannot perform inference on your trained model without running the model through the Model Optimizer. When you run a pre-trained model through the Model Optimizer, your output is an Intermediate Representation (IR) of the network. The Intermediate Representation is a pair of files that describe the whole model:
.xml
: Describes the network topology.bin
: Contains the weights and biases binary dataFor more information about the Model Optimizer, refer to the Model Optimizer Developer Guide.
IMPORTANT: The Internet access is required to execute the following steps successfully. If you have access to the Internet through the proxy server only, please make sure that it is configured in your environment.
You can choose to either configure all supported frameworks at once OR configure one framework at a time. Choose the option that best suits your needs. If you see error messages, make sure you installed all dependencies.
NOTE: If you installed the Intel® Distribution of OpenVINO™ to the non-default install directory, replace
/opt/intel
with the directory in which you installed the software.
Option 1: Configure all supported frameworks at the same time
Option 2: Configure each framework separately
Configure individual frameworks separately ONLY if you did not select Option 1 above.
You are ready to compile the samples by running the verification scripts.
To verify the installation and compile two samples, run the verification applications provided with the product on the CPU:
car.png
image in the demo directory. When the verification script completes, you will have the label and confidence for the top-10 categories: Run the Inference Pipeline verification script:
This verification script builds the Security Barrier Camera Demo application included in the package.
This verification script uses the car_1.bmp
image in the demo directory to show an inference pipeline using three of the pre-trained models. The verification script uses vehicle recognition in which vehicle attributes build on each other to narrow in on a specific attribute.
First, an object is identified as a vehicle. This identification is used as input to the next model, which identifies specific vehicle attributes, including the license plate. Finally, the attributes identified as the license plate are used as input to the third model, which recognizes specific characters in the license plate.
When the verification script completes, you will see an image that displays the resulting frame with detections rendered as bounding boxes, and text:
To learn about the verification scripts, see the README.txt
file in /opt/intel/openvino/deployment_tools/demo
.
For a description of the Intel Distribution of OpenVINO™ pre-trained object detection and object recognition models, see Overview of OpenVINO™ Toolkit Pre-Trained Models.
You have completed all required installation, configuration and build steps in this guide to use your CPU to work with your trained models. To use other hardware, see Install and Configure your Compatible Hardware below.
Install your compatible hardware from the list of supported components below.
NOTE: Once you've completed your hardware installation, you'll return to this guide to finish installation and configuration of the Intel® Distribution of OpenVINO™ toolkit.
Links to install and configure compatible hardware
Now that you've completed installation and configuration of your compatible hardware, you're ready to move to accelerator setup and run a sample application.
The fpga_support_files.tgz
are required to ensure your accelerator card and OpenVINO™ work correctly, and provide support for all compatible hardware accelerators.
fpga_support_files.tgz
from the Intel Registration Center. Right click or save the file instead of letting your browser extract automatically.fpga_support_files.tgz
.fpga_support_files
is created.fpga_support_files
directory: setup_env.sh
script from fpga_support_files.tgz
to set your environment variables: install_openvino_fpga_dependencies.sh
script which allows OpenCL to support Ubuntu and recent kernels: Y
when prompted to install: setup_env.sh
script from fpga_support_files.tgz
to set your environment variables: NOTE: If you reboot for any reason or opened a new terminal window, run the above command to source your environment files again.
aocl diagnose
: DIAGNOSTIC_PASSED
.If you have the Intel® Movidius™ Neural Compute Stick or Intel® Neural Compute Stick 2, plug it in now.
You have completed the accelerator installation and configuration. You are ready to run the Classification Sample, which you have compiled by running the Image Classification verification script in the Run the Verification Scripts to Verify Installation section.
IMPORTANT: This section requires that you have Run the Verification Scripts to Verify Installation.
Setting up a neural network is the first step in running a sample.
NOTE: If you are running inference only on a CPU, you already have the required FP32 neural network model. If you want to run inference on any hardware other than the CPU, you’ll need an FP16 version of the model, which you will set up in the following section.
Set Up a Neural Network Model
In this section, you will create an FP16 model suitable for hardware accelerators. For more information, see the information about FPGA plugins in the Inference Engine Developer Guide.
/home/<user>/squeezenet1.1_FP16
: squeezenet1.1.labels
file contains the classes that ImageNet uses. This file is included so that the inference results show text instead of classification numbers. Copy squeezenet1.1.labels
to your optimized model location: Once your neural network setup is complete, you're ready to run a sample application.
Run a Sample Application
-d
option and HETERO:
to your target: NOTE: The CPU throughput is measured in Frames Per Second (FPS). This tells you how quickly the inference is done on the hardware.
The throughput on the accelerator may show a lower FPS due to the initialization time. To account for that, use -ni
to increase the number of iterations. This option reduces the initialization impact and gives a more accurate sense of the speed the inference can run on the accelerator.
Congratulations, you have finished the Intel® Distribution of OpenVINO™ toolkit installation for FPGA. To learn more about how the Intel® Distribution of OpenVINO™ toolkit works, the Hello World tutorial and other resources are provided below.
Refer to the OpenVINO™ with FPGA Hello World Face Detection Exercise.
Additional Resources
To learn more about converting models, go to: