Hello @omria , we discussed about it in a post i did but you never answer me back.. it would be very useful to have a guide on the process of writing post-processing functionalities for models that are not included in the examples.
Specifically, we need documentation on what the HAILO module returns after predictions are made, how to properly configure the JSON files, and how to write the code to generate a correct post-processing .so compiled file.
Without this information, only the models covered in the examples are ready to use. I couldnât find any documentation on this topic, which makes it hard to properly schedule time for this task.
YOLO is fine for an MVP, but for production we need something free like MobileNet or other models.
Hey @Andrew92,
For some models â like YOLO and others â we actually have hailort-PP (post-processing) built directly into the model itself, so it runs on the Hailo device.
For custom C++ post-processing examples, you can check here:
https://github.com/hailo-ai/hailo-apps-infra/tree/main/cpp
How post-processing works:
- Youâll get tensor outputs based on how the model was compiled.
- If you cut the model at a certain layer, youâll need to manually run the remaining layers.
- If the model is fully compiled, usually you just need to apply NMS (or a similar final step) on the output.
About guides:
Weâre actively working on new guides â including one that covers how to configure the JSON files for post-processing!
For custom models:
If you can share what the output of your model looks like (shapes, expected outputs, etc.), I can help you set up the right config.
In general, your model_config.json would look something like this:
"post_processing": {
"shared_object": "libmobilenet_postproc.so",
"config": {
"num_classes": 1000,
"top_k": 5
}
}
shared_objectpoints to the.sofile that handles post-processing.configincludes any parameters your post-processing needs.
Feel free to send your modelâs output details or HAR or HEF when youâre ready â Iâll help you build the matching config or build post-process!
Thanks! I m talking about the json where are specified the output layers, the anchors etc⌠i can t find any guide about that specify how to do that.
I see postprocessing for yolov but how do i do a postprocessing .cpp for example, mobilenet or others?
Oh, got it !
For those, we actually have default configs in the Model Zoo:
- Mobilenet_v3.alls
- Mobilenet.yaml (base config)
- Mobilenet_v2 SSD NMS postprocess config
- Mobilenet_v3 network YAML
Also, hereâs the full guide for the Dataflow Compiler (DFC):
Dataflow Compiler Documentation (v3.31.0)
And for the Model Zoo and HailoMZ configs, you can check the docs here:
Hailo Model Zoo Documentation
For Mobilenet with C++:
Youâll need to build the specific post-processing based on your modelâs output.
Check the C++ examples I shared earlier â youâll also find the compilation scripts in the same repo.
For example, hereâs the one used for depth estimation:
Depth Estimation C++ Post-Processing
This one is fully custom and can be used as a base of the operation you need based on your output nodes.
Quick Tip:
If you want fast help understanding .alls, .yaml, or post-processing config files:
- Check the DFC and HailoMZ documentation on the Hailo website.
- Honestly, one trick â give those docs to ChatGPT (or any assistant) and ask specific questions about the YAML, ALLS, or CONFIG files. Thereâs a lot of detailed info in the main documentation that can speed things up.
We have successfully integrated Hailo-8H in our product using custom GStreamer/GST pipelines.
However, we are facing platform limitations:
- Raspberry Pi 5 lacks hardware-accelerated H.264 encode/decode
- Jetson Nano Super also does not meet our performance requirements
We would like to understand:
- Whether Hailo can be used with x86 platforms such as AMD (Ryzen) or Intel NUC via M.2 interface
Additionally, we are facing a commercial challenge:
- Current distributors are quoting Hailo-10H at nearly the same cost as a Jetson Nano Super module
- For OEM mass deployments with a minimum 5-year support lifecycle, this pricing is a major hindrance
Would it be possible to have a technical and commercial discussion with the Hailo team to explore viable options?
I meant, is there a way to integrate other industrial SBCs like Radxa ROCK 5B 8K or ASUS Tinker Board 3N with HAILO 8H or 10H?
is simple as installing Hailo apps or the Tapas framework. Has anybody successfully run on these boards? Also, I would like some suggestions on non-RPI board with H264 hardware acceleration