Compiling ONNX to HEF with Ubuntu 22.04.5

Hello HAILO team, I’ve been trying to run my custom yolov8s model on my 8L. At the moment I get to compile to get the HEF file Im getting this message.
hailomz compile yolov8s --ckpt=best.onnx --hw-arch hailo8l --calib-path train/images --classes 1 --performance
usage: hailomz compile [-h] [–yaml YAML_PATH] [–ckpt CKPT_PATH] [–hw-arch] [–start-node-names START_NODE_NAMES [START_NODE_NAMES …]] [–end-node-names END_NODE_NAMES [END_NODE_NAMES …]]
[–model-script MODEL_SCRIPT_PATH | --performance] [–har HAR_PATH] [–calib-path CALIB_PATH] [–resize RESIZE [RESIZE …]] [–input-conversion {nv12_to_rgb,yuy2_to_rgb,rgbx_to_rgb}]
[–classes]
[model_name]
hailomz compile: error: argument --hw-arch: invalid choice: ‘hailo8l’ (choose from ‘hailo15h’, ‘hailo15m’, ‘hailo15l’, ‘hailo10h’, ‘hailo10p’, ‘hailo12l’)

Could anyone help me to know what Im doing wrong.

The Hailo AI Software Suite was divided into two versions. One for Hailo-8/8L and one for Hailo-15 and Hailo-10. You need to install the Hailo AI Software Suite Docker for Hailo-8.

1 Like

Hello Klausk I went to this aproach and indeed help me, now Im getting another error, at the moment I alredy got the .hef model on the pi but when I try to run it, appears this message
python basic_pipelines/detection.py --hef-path resources/box_seg.hef --input rpi --labels-json resources/procarsa-labels.json
Loading environment variables from /home/andres/hailo-rpi5-examples/.env…
:white_check_mark: All required environment variables loaded.
Auto-detected Hailo architecture: hailo8l
[1:04:00.478011280] [4940] INFO Camera camera_manager.cpp:330 libcamera v0.5.2+99-bfd68f78
[1:04:00.485507113] [4941] INFO RPI pisp.cpp:720 libpisp version v1.2.1 981977ff21f3 29-04-2025 (14:13:50)
[1:04:00.488150379] [4941] INFO IPAProxy ipa_proxy.cpp:180 Using tuning file /usr/share/libcamera/ipa/rpi/pisp/imx477.json
[1:04:00.495872251] [4941] INFO Camera camera_manager.cpp:220 Adding camera ‘/base/axi/pcie@1000120000/rp1/i2c@88000/imx477@1a’ for pipeline handler rpi/pisp
[1:04:00.495916530] [4941] INFO RPI pisp.cpp:1179 Registered camera /base/axi/pcie@1000120000/rp1/i2c@88000/imx477@1a to CFE device /dev/media0 and ISP device /dev/media2 using PiSP variant BCM2712_C0
NMS score threshold is set, but there is no NMS output in this model.
CHECK_SUCCESS failed with status=6
[1:04:00.499046116] [4940] INFO Camera camera.cpp:1215 configuring streams: (0) 1280x720-RGB888/sRGB (1) 1280x720-RGB888/sRGB (2) 2028x1080-BGGR_PISP_COMP1/RAW
[1:04:00.499153950] [4941] INFO RPI pisp.cpp:1483 Sensor: /base/axi/pcie@1000120000/rp1/i2c@88000/imx477@1a - Selected sensor format: 2028x1080-SBGGR12_1X12/RAW - Selected CFE format: 2028x1080-PC1B/RAW
Picamera2 configuration: width=1280, height=720, format=RGB
picamera_process started
But Im not getting any image on the screen, any idea what could be causing this issue?

What result do you get when you run the following command?

hailortcli parse-hef your_model.hef
1 Like

I did not do that step, I got the model on the onnx format and the used this command
hailomz compile yolov8s_seg –ckpt=best.onnx —hw-arch hailo8l –calib-path train/images –classes 1 –performance

Compiler Version: 3.32.0
Model zoo Version 2.16
The compile I did it using WSL 22.04
At the moment in the directory I have the yolov8s.har, yolov8s_seg.har and also the yolov8s_seg.har, is there anything I could do with these files to get the result you asked for?

Very grateful for your help.

Hello Klausk here is the log from running the parse on my custom model :
hailortcli parse-hef box_seg.hef
Architecture HEF was compiled for: HAILO8L
Network group name: yolov8s_seg, Multi Context - Number of contexts: 4
Network name: yolov8s_seg/yolov8s_seg
VStream infos:
Input yolov8s_seg/input_layer1 UINT8, NHWC(640x640x3)
Output yolov8s_seg/conv73 UINT8, FCR(20x20x64)
Output yolov8s_seg/conv74 UINT8, NHWC(20x20x1)
Output yolov8s_seg/conv75 UINT8, FCR(20x20x32)
Output yolov8s_seg/conv60 UINT8, FCR(40x40x64)
Output yolov8s_seg/conv61 UINT8, NHWC(40x40x1)
Output yolov8s_seg/conv62 UINT8, FCR(40x40x32)
Output yolov8s_seg/conv44 UINT8, FCR(80x80x64)
Output yolov8s_seg/conv45 UINT8, NHWC(80x80x1)
Output yolov8s_seg/conv46 UINT8, FCR(80x80x32)
Output yolov8s_seg/conv48 UINT8, FCR(160x160x32)