Install Intel® Distribution of OpenVINO™ toolkit for Linux* with FPGA Support

NOTES:

Introduction

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® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA, and Intel® Vision Accelerator Design with an Intel® Arria 10 FPGA SG1 or SG2.
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 OpenCV* community version compiled for Intel® hardware
Demos and Sample Applications A set of simple console applications demonstrating how to use the Inference Engine in your applications

Development and Target Platform

The development and target platforms have the same requirements, but you can select different components during the installation, based on your intended use.

Hardware

NOTE: Intel® Arria® 10 GX FPGA Development Kit is no longer supported in 2019 R2. For the Intel® Arria® 10 FPGA GX Development Kit configuration guide, refer to the 2019 R1.1 documentation.

Processor Notes:

Operating Systems:

Overview

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:

  1. Install the Intel® Distribution of OpenVINO™ Toolkit
  2. Install External software dependencies
  3. Configure the Model Optimizer
  4. Run the Verification Scripts to Verify Installation and Compile Samples
  5. Install your compatible hardware from the list of supported hardware
  6. Use the Face Detection Tutorial

Install the Intel® Distribution of OpenVINO™ Toolkit Core Components

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.

  1. Open a command prompt terminal window.
  2. Change directories to where you downloaded the Intel Distribution of OpenVINO toolkit for Linux* with FPGA Support package file.
    If you downloaded the package file to the current user's Downloads directory:
    cd ~/Downloads/
    By default, the file is saved as l_openvino_toolkit_fpga_p_<version>.tgz.
  3. Unpack the .tgz file:
    tar -xvzf l_openvino_toolkit_fpga_p_<version>.tgz
    The files are unpacked to the l_openvino_toolkit_fpga_p_<version> directory.
  4. Go to the l_openvino_toolkit_fpga_p_<version> directory:
    cd l_openvino_toolkit_fpga_p_<version>
    If you have a previous version of the Intel Distribution of OpenVINO toolkit installed, rename or delete these two directories:

Installation Notes:

  1. Choose your installation option:
    • Option 1: GUI Installation Wizard:
      sudo ./install_GUI.sh
    • Option 2: Command-Line Instructions:
      sudo ./install.sh
  2. Follow the instructions on your screen. Watch for informational messages such as the following in case you must complete additional steps:
    install-linux-fpga-01.png
  3. If you select the default options, the Installation summary GUI screen looks like this:
    install-linux-fpga-02.png
    • Optional: You can choose Customize and select only the bitstreams for your card. This will allow you to minimize the size of the download by several gigabytes.
    • The following bitstreams listed at the bottom of the customization screen are highlighted below. Choose the one for your FPGA:
      install-linux-fpga-04.png
    • When installed as root the default installation directory for the Intel Distribution of OpenVINO is /opt/intel/openvino_fpga_2019.<version>/.
      For simplicity, a symbolic link to the latest installation is also created: /opt/intel/openvino/.
  4. A Complete screen indicates that the core components have been installed:
    install-linux-fpga-05.png

The first core components are installed. Continue to the next section to install additional dependencies.

Install External Software Dependencies

These dependencies are required for:

  1. Change to the install_dependencies directory:
    cd /opt/intel/openvino/install_dependencies
  2. Run a script to download and install the external software dependencies:
    sudo -E ./install_openvino_dependencies.sh

The dependencies are installed. Continue to the next section to configure the Model Optimizer.

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:

For more information about the Model Optimizer, refer to the Model Optimizer Developer Guide

Model Optimizer Configuration Steps

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

  1. Go to the Model Optimizer prerequisites directory:
    cd /opt/intel/openvino/deployment_tools/model_optimizer/install_prerequisites
  2. Run the script to configure the Model Optimizer for Caffe, TensorFlow, MXNet, Kaldi*, and ONNX:
    sudo ./install_prerequisites.sh

Option 2: Configure each framework separately

Configure individual frameworks separately ONLY if you did not select Option 1 above.

  1. Go to the Model Optimizer prerequisites directory:
    cd /opt/intel/openvino/deployment_tools/model_optimizer/install_prerequisites
  2. Run the script for your model framework. You can run more than one script:
sudo ./install_prerequisites_caffe.sh

You are ready to compile the samples by running the verification scripts.

Run the Verification Scripts to Verify Installation and Compile Samples

To verify the installation and compile two samples, run the verification applications provided with the product on the CPU:

  1. Go to the Inference Engine demo directory:
    cd /opt/intel/openvino/deployment_tools/demo
  2. Run the Image Classification verification script:
    ./demo_squeezenet_download_convert_run.sh
    This verification script downloads a SqueezeNet model, uses the Model Optimizer to convert the model to the .bin and .xml Intermediate Representation (IR) files. The Inference Engine requires this model conversion so it can use the IR as input and achieve optimum performance on Intel hardware.
    This verification script builds the Image Classification Sample Async application and run it with the car.png image in the demo directory. When the verification script completes, you will have the label and confidence for the top-10 categories:
    image_classification_script_output_lnx.png
  3. Run the Inference Pipeline verification script:

    ./demo_security_barrier_camera.sh

    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:

    security-barrier-results.png
  4. Close the image viewer window to complete the verification script.

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 and Configure Your Compatible Hardware

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

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.

Hello World Face Detection Tutorial

Refer to the OpenVINO™ with FPGA Hello World Face Detection Exercise.

Additional Resources

To learn more about converting models, go to: