har to hef conversion problem in optimization

Hi,

I installed WSL2 with Ubuntu 22.04 and set up the CUDA Toolkit. Despite some issues, I was able to convert my custom yolov8m_pose.pt model to .har using the hailomz parse command.

The next step should be running hailomz optimize, specifying the model type (compatible with Hailo structure) and the path to the training dataset (COCO 2017 in my case). However, the optimization process does not detect any GPU — even though I have an RTX 4070 (used to train the model) — and eventually terminates with a Killed message.

I expected that, although using the CPU is far from ideal, the process would still complete instead of being terminated. I also tried using a fake dataset with only 3 images for quick finetuning, just to test whether the issue was dataset-related or GPU-related — the result was the same.

My WSL2 environment has 7GB of RAM assigned. I’ve read through many posts in the Hailo Community where people encounter issues with this basic step. It really shouldn’t be so hard to convert a supported model from ONNX to .hef. After over 10 days of trials, I’m quite disappointed.

I’m attaching the full log below in case it helps. If anyone has a working guide or suggestions (especially for GPU support under WSL2/ Hailo optimization process), I would really appreciate it.

Thanks in advance.

Error:

"Hailo Model Zoo INFO> Start run for network yolov8m_pose …

Initializing the hailo8 runner…

[info] Translation started on ONNX model yolov8m_pose

[info] Restored ONNX model yolov8m_pose (completion time: 00:00:00.37)

[info] Extracted ONNXRuntime meta-data for Hailo model (completion time: 00:00:01.24)

[info] Start nodes mapped from original model: ‘images’: ‘yolov8m_pose/input_layer1’.

[info] End nodes mapped from original model: ‘/model.22/cv2.2/cv2.2.2/Conv’, ‘/model.22/cv3.2/cv3.2.2/Conv’, ‘/model.22/cv4.2/cv4.2.2/Conv’, ‘/model.22/cv2.1/cv2.1.2/Conv’, ‘/model.22/cv3.1/cv3.1.2/Conv’, ‘/model.22/cv4.1/cv4.1.2/Conv’, ‘/model.22/cv2.0/cv2.0.2/Conv’, ‘/model.22/cv3.0/cv3.0.2/Conv’, ‘/model.22/cv4.0/cv4.0.2/Conv’.

[info] Translation completed on ONNX model yolov8m_pose (completion time: 00:00:01.80)

[info] Saved HAR to: /home/btsuser/yolov8m_pose.har

Preparing calibration data…

[info] Loading model script commands to yolov8m_pose from /home/btsuser/hailo_model_zoo/hailo_model_zoo/cfg/alls/generic/yolov8m_pose.alls

[info] Found model with 3 input channels, using real RGB images for calibration instead of sampling random data.

[info] Starting Model Optimization

[warning] Reducing optimization level to 0 (the accuracy won’t be optimized and compression won’t be used) because there’s less data than the recommended amount (1024), and there’s no available GPU

[warning] Running model optimization with zero level of optimization is not recommended for production use and might lead to suboptimal accuracy results

[info] Model received quantization params from the hn

[info] MatmulDecompose skipped

[info] Starting Mixed Precision

[info] Model Optimization Algorithm Mixed Precision is done (completion time is 00:00:00.46)

[warning] Optimize Softmax Bias: Dataset didn’t have enough data for sample_size of 4 Quantizing using calibration size of 3

[info] LayerNorm Decomposition skipped

[info] Starting Statistics Collector

[info] Using dataset with 3 entries for calibration

Calibration: 100%|█████████████████████████████████████████████████████████████████████| 3/3 [00:19<00:00, 6.66s/entries]

[info] Model Optimization Algorithm Statistics Collector is done (completion time is 00:00:21.19)

[info] Output layer yolov8m_pose/conv60 with sigmoid activation was detected. Forcing its output range to be [0, 1] (original range was [2.6413629616861556e-10, 0.12210679054260254]).

[info] Output layer yolov8m_pose/conv76 with sigmoid activation was detected. Forcing its output range to be [0, 1] (original range was [1.0006209482610026e-17, 0.9275000095367432]).

[info] Output layer yolov8m_pose/conv91 with sigmoid activation was detected. Forcing its output range to be [0, 1] (original range was [1.2474961486725038e-14, 0.9417390823364258]).

[info] Starting Fix zp_comp Encoding

[info] Model Optimization Algorithm Fix zp_comp Encoding is done (completion time is 00:00:00.00)

[info] Matmul Equalization skipped

[info] Starting MatmulDecomposeFix

[info] Model Optimization Algorithm MatmulDecomposeFix is done (completion time is 00:00:00.00)

[info] Finetune encoding skipped

[info] Bias Correction skipped

[info] Adaround skipped

[warning] Quantization-Aware Fine-Tuning: Dataset didn’t have enough data for dataset_size of 1024 Quantizing using calibration size of 3

[info] Starting Quantization-Aware Fine-Tuning

[info] Using dataset with 3 entries for finetune

Epoch 1/10

Killed"

The Dataflow Compiler usage on Windows using WSL2, does not currently support GPU. You can find this in the Hailo Dataflow Compiler User Guide.

I recommend using the Hailo AI Software Suite Docker on Ubuntu 20.0.4 or 22.04 directly. This provides the easiest installation and upgrades.

Hi, so the problem is the use of WSL2 that does not support GPU? Or the RAM memory of my PC which is <16GB (recommended on cytron.io tutorials)?, Can you link a guide to follow and install all that I need until the hailomz parse and hailomz optimize commands? To me seems that a straight guide does not exist.

Log into the Developer Zone, go to Software Downloads. Pick one of the Hailo AI Software Suite Docker and click on the link Installation Guide. If you like to test the Tappas example applications use the 2025-01 version otherwise you can also use the 2025-04 version.

The System requirements on the same page state 16+ GB RAM. I would follow the recommendation. Converting models is a heavy task and 32 GB RAM or more is better.