Hailo AI Software Suite Installation

From RidgeRun Developer Wiki
< Hailo‎ | Hailo-8





Introduction

The Hailo AI Software Suite consists of a comprehensive set of frameworks and tools designed for compiling, running, and evaluating neural networks on Hailo devices:

  • Dataflow Compiler: Converts and compiles models into the Hailo binary format.
  • HailoRT: Provides the runtime environment and driver for executing networks and interacting with Hailo devices.
  • Model Zoo: Contains pre-trained models for running and evaluating on Hailo devices.
  • TAPPAS: Offers a deployment framework, examples, and multi-network pipelines.

While each component can be installed individually, Hailo releases a quarterly software suite that aligns all product versions. Using the Hailo AI Software Suite ensures optimal compatibility.

Hailo AI Software Suite Components

In the Model Build Environment:

  • Hailo Dataflow Compiler: Compiles trained models into a format suitable for execution on Hailo devices.
  • Hailo Model Zoo: Provides a comprehensive database of pre-trained models optimized for Hailo devices, along with a retraining environment.

In the Runtime Environment:

  • HailoRT: Loads compiled models onto Hailo devices and facilitates interaction through the PCIe driver.
  • TAPPAS: Includes detailed examples and demonstrations for utilizing HailoRT to create and manage full pipelines on Hailo devices.

For more information about the Hailo AI Software Suite, you can read the following wiki: Hailo AI Software Suite.

Installation

The Hailo Software Suite can be installed in three ways:

  1. Using the all-in-one Docker file
  2. Using the all-in-one self-extracting executable
  3. Manual installation of the packages in a defined order

Note: This guide demonstrates how to install the all-in-one method. If you wish to explore other installation options, please refer to the guides from Hailo: Hailo Software Suite

Important: For interaction with Hailo devices, a physical connection is required (although not necessary for installation):

  • Evaluation Board: PCIe interface or Gigabit Ethernet (802.3) interface
  • M.2 Board: M.2 connector (*)
  • mPCIe Board: mPCIe connector

(*) This guide was developed using the Hailo-8 M.2 AI Acceleration Module.

System Requirements

The following requirements are needed for the installation:

  • Operating System: Ubuntu 20.04/22.04, 64-bit
  • Memory: 16+ GB RAM (32+ GB recommended)
  • Python: Python 3.8/3.9/3.10, including pip and virtualenv
  • Packages:
    • python3.X-dev and python3.X-distutils (according to the Python version)
    • python3-tk, libfuse2, graphviz, and libgraphviz-dev (install with sudo apt-get install PACKAGE)
    • build-essential (needed for compiling the PCIe driver)
  • For TAPPAS: ffmpeg, x11-utils, python-gi-dev, libgirepository1.0-dev, libzmq3-dev, gcc-9, and g++-9
  • git, opencv4, gstreamer, pygobject, opencv_flann, calib3d, and features2d
  • Optional: bison, flex, libelf-dev, and dkms (needed to register the PCIe driver using DKMS)
  • Optional: cmake (needed for compiling the HailoRT examples and for the TAPPAS installation when using the self-extracted executable)

Install System Requirements

Install Essential Packages

sudo apt-get install build-essential

Install Python and Development Tools

Replace `X` with the version of Python you are using (e.g., 3.8, 3.9, or 3.10).

sudo apt-get install python3.X python3.X-dev python3.X-distutils python3-tk python3-pip python3-venv

Install Additional Required Packages

sudo apt-get install libfuse2 graphviz libgraphviz-dev

Install Packages for TAPPAS

sudo apt-get install -y ffmpeg x11-utils libgstreamer-plugins-base1.0-dev python-gi-dev libgirepository1.0-dev libzmq3-dev gcc-9 g++-9

Install GStreamer

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

Packages for PCIe Driver and DKMS

sudo apt-get install bison flex libelf-dev dkms

Install CMake

sudo apt-get install cmake

Install OpenCV

Download Opencv and unzip

wget https://github.com/opencv/opencv/archive/4.5.2.zip
unzip 4.5.2.zip

cd and make build dir

cd opencv-4.5.2
mkdir build
cd build

Make and install

 cmake -DOPENCV_GENERATE_PKGCONFIG=ON \
    -DBUILD_LIST=core,imgproc,imgcodecs,calib3d,features2d,flann \
    -DCMAKE_BUILD_TYPE=RELEASE \
    -DWITH_PROTOBUF=OFF -DWITH_QUIRC=OFF \
    -DWITH_WEBP=OFF -DWITH_OPENJPEG=OFF \
    -DWITH_GSTREAMER=OFF -DWITH_GTK=OFF \
    -DOPENCV_DNN_OPENCL=OFF -DBUILD_opencv_python2=OFF \
    -DINSTALL_C_EXAMPLES=ON \
    -DINSTALL_PYTHON_EXAMPLES=ON \
    -DCMAKE_INSTALL_PREFIX=/usr/local  ..
make -j4
sudo make install

Update the linker

sudo ldconfig

Install pygobject

sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0

Download the Hailo Software Suite

To download the Hailo Software Suite, follow these steps:

  1. Visit Developer Zone/Software Downloads.
  2. Select the "Hailo AI Software Suite – Self Extractable" option, as illustrated in the image below.


How to download the Hailo AI SW Suite

Installing Hailo AI Software Suite

Once you have downloaded the "Hailo AI Software Suite – Self Extractable", you will have a file named hailo_ai_sw_suite_<version>.run

  • Move this file to the directory where you want to have the installation files.
  • Open a terminal window and run the following command to make the file executable:

Replace <version> with the specific version number of the file you downloaded.

sudo chmod 770 hailo_ai_sw_suite_<version>.run
  • To install the Hailo AI Software Suite, execute the following command in your terminal:

Replace <version> with the specific version number of the file you downloaded.

./hailo_ai_sw_suite_<version>.run
  • When the installation begins, you will see text similar to the following in your console:
 omendez@ridgern-G5-5587:~/Documents/hailo-dirs$ ./hailo_ai_sw_suite_2024-07.run
 Creating directory hailo_ai_sw_suite
 Verifying archive integrity...  100%   MD5 checksums are OK. All good.
 Uncompressing Hailo-AI-SW-Suite-Installer  100%  
 Starting Hailo AI Software Suite installation
 INFO: Checking system requirements...
 WARNING: It is recommended to have 32 GB of RAM, while this system has only 30 GB.
 INFO: System requirements check finished successfully.
  • When the installation is complete, you will see output similar to the following:
Hailo SW Bundle installed successfully
Please reboot the machine

Activating the Virtual Environment

After the installation is complete, activate the newly created virtual environment by running:

source hailo_ai_sw_suite/hailo_venv/bin/activate