Creating a development environment

I think I’ve concluded, unfortunately, that there is no way to make use of the Hailo chip that is shipped with the RPI5 AI HAT+ for use when developing. I have done the reading, and from what I can read there needs to be a PCIe connection with the host environment, that unfortunately requires Ubuntu 20.04 or 22.04 with nvidia drivers that are not easy to install i.e. version 525.

Currently there is only a PCIe connection to the RPI5. So I am wondering how I am supposed to test any manufactured application code/models with the RPI5? From what I understand, I need to train models/write code, then transfer it to the RPI5 and just hope for the best with no certainty that it will work.

What are my possibilities and what are my restrictions? Should I run Ubuntu 22.04 on the RPI5?

I am absolutely dumbfounded.

Very impressive results with the example applications, I salute you.
Presenting this as an entry-level development kit should present also entry-level documentation, for entry-level developers.

My objective, objectively doesn’t need anything complicated. A Gstreamer pipeline to capture and manipulate video feed input.
An inference engine(HAILO CHIP) to do the inference part.
And perhaps something in the post-processing, such as boxes around objects/faces or other logic.
All of this is readily available and I just need to make smaller modifications/add-ons to the available code.
For what I am trying to accomplish, i.e. face verification/recognition, this shouldn’t be this hard at all I recon.

I hope I’m wrong and I’ll be the first one to admit it if that is the case, but I need some pointers in the right direction.

Hey @oktober.yildiz ,

There are two approaches to developing with the Hailo AI kit:

  1. The recommended method (which I prefer) is to SSH into the Raspberry Pi and develop directly on it using VS Code from your PC. I’ve developed all my example projects this way.
  2. Alternatively, you can develop on Ubuntu and transfer the code to the Raspberry Pi. For about 90% of use cases, there’s no significant difference between Raspberry Pi and x86 platforms when it comes to Hailo development.

All our example code has been thoroughly tested on both Raspberry Pi and Raspberry Pi running Ubuntu, so feel free to choose whichever development approach works best for you.

Regarding your application, it sounds feasible using our API. Could you please provide more details about your project and any specific challenges you face? This would help me offer more targeted assistance.

Best regards,
Omri

First of all I don’t know if I need to re-train a model, which would not work on the RPI5 from what I’ve gathered.

I want to verify that the face walking by my camera belongs to me, which I think would be called face-verification and not recognition?
I found this on the forums. How would I re-train it to work with my specific chip? I’ve got the 26 TOPS chip

This is ridiculous,

The link for the installation guide for Hailo Dataflow Compiler doesn’t work.
To run the Hailo Model ZOO, there are few lazy, non-working instructions that require the dataflow-compiler to be installed.
If I run the model-zoo from installing sudo apt install hailo-all, it seems there’s not a full installation and I can’t find all the models.

I am sitting day in and day out and testing all the offered “solutions” to my issues, I’ve been so patient I can’t even put it in words. There’s no clear way on getting anything working within a shitty raspberry pi 5 so that’s why I in the first place was looking at doing the development on a stronger more capable machine.

The instructions you give on what the development environment should look like are clear, but getting those components installed is not clear in any way shape or form. Please provide clear instructions on how to set the environment up, where do I download the exact driver 525, and the rest of the required software versions?





Hey @oktober.yildiz ,

Ok lets make it simpler with this small guide :

1. Development Environment on x86 with Dataflow Compiler and Hailo AI Suite

For development, the Hailo AI Suite on x86 provides essential tools for preparing models and applications intended for deployment on Hailo-compatible hardware, specifically targeting environments like Raspberry Pi. The x86 setup allows you to:

  • Download models from the Hailo Model Zoo to use pretrained models that are ready for deployment or further optimization.
  • Compile models with the Dataflow Compiler (DFC), included in the suite, to optimize them for Hailo hardware.
  • Develop your application code on x86, preparing it for deployment without the need for testing or inference on x86. Testing will instead be conducted directly on the Raspberry Pi.

Installation and Setup on x86

  1. Refer to the Hailo AI Suite Documentation:

    • For installing the Hailo AI Suite on x86, refer to the Hailo AI Suite User Guide, which covers the Dataflow Compiler, HailoRT, TAPPAS, and additional tools needed for development.
      2024-10 | Hailo
  2. Download and Use the Hailo Model Zoo:

    • Access pretrained models from the Hailo Model Zoo to use them as-is or further optimize them with the Dataflow Compiler before deployment.
  3. Review & Develop Base on Example Applications:


2. Running and Testing Models on Raspberry Pi (RPI)

Once the models are prepared on x86, they can be deployed and tested directly on the Raspberry Pi.

Raspberry Pi Setup and Model Deployment

  1. Install Hailo Software on RPI:

    • Install the Hailo runtime and necessary software on Raspberry Pi by running:
      sudo apt install hailo-all
      

    This command sets up the runtime environment to enable model inference and application execution directly on the RPI.

  2. Deploy Models to RPI for Testing:

    • Transfer the compiled or pretrained models from x86 to the RPI for testing and deployment using the Hailo runtime.
  3. Develop Directly on RPI (Optional):

    • For a more integrated development workflow, you have the option to develop directly on the Raspberry Pi using SSH. This allows you to edit code and execute applications in real-time on the target device, streamlining testing and debugging.
  4. Run Example Applications:

This workflow provides flexibility, allowing you to prepare models on x86 and deploy them efficiently to RPI, or develop directly on RPI via SSH for a seamless testing experience on the target hardware. Let me know if more details are needed on any part of the process!