This layer provides recipes to build the kernel and userspace drivers and utilities (version 4.18) for the Hailo-8 NPU chip. It also supports GStreamer and tappas. The main components included are:
- hailo-pci (OSS kernel module)
- hailo-firmware (proprietary firmware for hailo8 chip)
- hailort (Userspace API)
- hailortcli (tool)
- hailort (service)
- libhailort (c library)
- libhailort-dev (dev package)
- python3-hailort (python library)
- HailoRT GStreamer library (HailoNet element)
- tappas (Framework for optimized execution of video-processing pipelines)
Note:
numpy==1.23.3
is preinstalled. Please do not upgrade it, ashailort v4.18.0
requires this specific version. Upgradingnumpy
may causepyhailort
to fail to execute.
For more information about Hailo, please refer to the Hailo website and the Hailo Open Source repository.
You can find Hailo application examples at the Hailo Application Code Examples:
- C++
- GStreamer
- Python (It is strongly recommended to use a Python virtual environment
to avoid dependency issues)
- Install venv:
apt-get update && apt-get install python3-venv
- Create a venv:
python3 -m venv --system-site-packages path/to/venv
- Activate the venv:
source path/to/venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Install venv:
Note:
- Do not re-install newer
numpy
package in venv to overwrite the preinstallednumpy==1.23.3
. Ifnumpy
inrequirements.txt
is notnumpy==1.23.3
, please modify it to1.23.3
or remove it, since it is already preinstalled.- The examples are continuously updated and may not always be compatible with our current Hailo version. If you encounter any problems with the latest examples, please try using an older version of the examples.
Additionally, we have integrated three Tappas (GStreamer) demos to provide users with a hands-on experience or quick practice. For more details, please refer to the Tappas README.
- Detection Pipeline
- License Plate Recognition
- Multi-Stream Object Detection
This layer is versioned according to the major hailo driver version. Note, that the kernel ABI is not stable and by that the version of the userspace components need to perfectly match the version of the firmware and the kernel module.