Convert my own model using HailoMZ

I have a model based on YOLOX-S with some modifications. Following the Hailo Dataflow Compiler User Guide, I converted my model to obtain my_yolox_s.hef. However, when I ran hailortcli benchmark my_yolox_s.hef on the Hailo-8 device, the frame rate was quite low. Then, I directly used the yolox_s_leaky.onnx from hailo_model_zoo to generate the HEF model, but the frame rate remained similarly low (under 40 FPS). However, when I converted the same yolox_s_leaky.onnx using HailoMZ, the resulting model achieved over 270 FPS.

Questions:

  1. Does HailoMZ apply additional optimization settings during model conversion?
  2. How can I achieve similar performance using the Dataflow Compiler API directly (without HailoMZ)?
  3. Alternatively, how can I use hailo_model_zoo to convert my own custom model?

Here is a post with some general points:

Hailo Community - My model runs slower than expected

You can find the model scripts used by the Model Zoo here:

GitHub - Hailo Model Zoo - ALLS - generic

You should be able to get the results using the model scripts. Note, that for some models you may need to use the performance mode which can lead to longer compilation time. As the compiler will try harder to get the best performance.

You should write your own conversion scripts for your models. That process is more flexible and allows you to add your own functions like creating datasets, validating results, compiling for multiple hardware targets …

Thanks for your reply, I will try it。 :ok_hand: