This repository provides the core infrastructure and pipelines required to run Hailo application examples. It is built to be used on multiple platforms, including Raspberry Pi 4 and 5, and x86_64 and aarch64 Ubuntu machines. It includes ready-made pipelines for running detection, pose estimation, and instance segmentation examples. It includes common building block and utilities:
- Gstreamer Application class
- Gstreamer pipeline helper functions
- Post processing scripts
- Hailo HEF file loader
The infrastructure is aimed to provide tools for developers who want to create their own custom pipelines and applications. It can be 'pip installed' as a dependency in your own projects. See more information in our Development Guide.
For more general information and support visit the Hailo Official Website and Hailo Community Forum.
hailo-app-infra
is used as a dependency in other Hailo examples repositories. The following diagram shows the code structure of the Hailo examples repositories:
This repo requires Hailo's tools to be installed.
All the required packages can be found in Hailo developer Zone SW downloads
For Raspberry Pi users we have it all integrated in Raspberry Pi OS and apt server. See Raspbery Pi installation Guide on hailo-rpi5-examples
repo for more information.
Required packages:
- HailoRT driver (deb package)
- HailoRT (deb package)
- HailoRT Python API (whl package)
- TAPPAS (Installer) or tappas-core (deb package)
- TAPPAS Python API (whl package)
To install the package, ensure you are inside a virtual environment with Hailo requirements installed. Then, run the following command:
pip install git+https://github.com/hailo-ai/hailo-apps-infra.git
This will install the Hailo Applications Infrastructure package directly from the repository.
To make changes and work with the code locally you can clone the repository and install it in editable mode:
git clone https://github.com/hailo-ai/hailo-apps-infra.git
pip install --force-reinstall -v -e .
--force-reinstall
is required to reinstall the package if it was already installed. By the hailo-rpi5-examples repository, for example. As part of the installation flow.
The pipelines should be be imported and wrapped with your own application logic. See examples in Hailo RPi5 examples repo
Hailo Raspberry Pi Common Utilities
We welcome contributions from the community. You can contribute by:
- Contribute to our Community projects directories on other repos:
- PRs to this repo will not be accepted.
- Reporting issues and bugs.
- Suggesting new features or improvements.
- Joining the discussion on the Hailo Community Forum.
The infrastructure is released under the MIT license. Please see the LICENSE file for more information.
This code infrastructure is provided by Hailo solely on an “AS IS” basis and “with all faults”. No responsibility or liability is accepted or shall be imposed upon Hailo regarding the accuracy, merchantability, completeness or suitability of the code infrastructure. Hailo shall not have any liability or responsibility for errors or omissions in, or any business decisions made by you in reliance on this code infrastructure or any part of it. If an error occurs when running this infrastructure, please open a ticket in the "Issues" tab.
This infrastructure was tested on specific versions and we can only guarantee the expected results using the exact version mentioned above on the exact environment. The infrastructure might work for other versions, other environment or other HEF file, but there is no guarantee that it will.