Onnx to hef file generation

Hi everyone,
I am trying to convert my onnx file to hef using the hailo dfc. From seeing the previous questions I understand the overall process of installing the dfc and using that to generate a hef for my onnx file. Can someone provide me some clarity on :

  1. the requirements for this process? Do I need a hailo chip connected to be able to do the hef connection
  2. which is the best way to install the dfc and access it? in the developer zone I see 3 options to download
  3. after converting to a hef file how can I download the hef file to my computer?

thanks

Welcome to the Hailo Community!

No, you do not need a Hailo device for the conversion.

We recommend to use the AI Software Suite docker. It contains all dependencies and is very easy to install.
If you have a Hailo device in your machine you need to install the PCIe driver outside of the docker. This will allow you to run the TAPPAS examples and you can use the HailoRT CLI to run your model on the device without an application for simple benchmarks (FPS, PCIe bandwidth, latency).

You can transfer the HEF file any way you like. It depends on your machine. We often simply use SCP.
To run the model I recommend to first use the HailoRT CLI. e.g.

hailortcli run model.hef

This will tell you how fast the model can run on the system without the application overhead.
Then you can use it in your application. Your FPS may be different depending on the rest of the pipeline (camera FPS, C/C++ vs Python, single thread vs dual thread …)

Hi,

thanks for the response. I have tried to install the docker on my virtual box ubuntu 20 environment. I started off with 8gb RAM but I got the error that I need 16gb space. I reconfigured everything to 18gb ram now I am getting the error I need 32 gb ram. Attatching the ss :


I would really appreciate some help in understanding the min system requirements for this. and after installation any guide towards building my own .hef file.

thanks

We do not validate our software in virtual machines and therefore do not support this. It may work or not.

This is just a warning. You can ignore it.
The Hailo AI SW Suite User guide states 16+ GB minimum (32+ GB recommended). The more the better.

What is the recommended platform for this?

A high-end PC. The model conversion process has similar requirements to training a model.
You can convert models on systems without a GPU e.g. a laptop but for some optimizations you need to have a high-end NVIDIA GPU as well.

Can I know the hardware specs and the os for this?

The Hailo AI Software suite runs on Ubuntu 20 or 22. We will move to Ubuntu 24 and deprecate support for Ubuntu 20 in the next version.

As for the hardware spec. You can work with a Intel core i5 and 16GB of RAM without a GPU and convert models.
However for some optimizations you will need a NVIDIA GPU with lots of RAM. As big as you can afford. It depends on your use case. Is this just to learn about AI, hobby project or are you developing a application for a company.

I am developing a model for my company, and at the moment I want to just convert to hef file.

I’m also very curious about how to convert my own model into HEF format. No matter how I try, I just can’t successfully convert the model I trained into a final HEF file that can run on Hailo-8. However, when I use YOLO’s COCO model, the conversion goes very smoothly. I have no idea what’s wrong with my trained model XD (The .pt file of my trained model runs perfectly fine).

Hi @w.s01212, could you please open a topic for your issue? It would be helpful also to add there the steps you took and the exact error you got.

@nina-vilela
Thank you for your response. I have already created a new, detailed topic with all the steps taken and the exact error message. The post is currently awaiting moderator approval

1 Like