Hello everybody. I work on optimization of hailo11m 1024x1024 on hailo ai software suite ver. 3.31
Input layers I use from suggested from hailo software
I have been changed layers, than try to change script.alls and gave different start conditions. Har is compiling normal, but hef is a problem.
Nothing don’t work. Please help me.
This is my command and logs.
(hailo_virtualenv) hailo@72043f769d42:/data$ hailomz compile yolov11m --ckpt best.onnx --hw-arch hailo8 --start-node-names images --end-node-names /model.23/cv3.0
/cv3.0.2/Conv /model.23/cv2.0/cv2.0.2/Conv /model.23/cv3.1/cv3.1.2/Conv /model.23/cv2.1/cv2.1.2/Conv /model.23/cv3.2/cv3.2.2/Conv /model.23/cv2.2/cv2.2.2/Conv --c
lasses 1 --calib-path images_png/
Start run for network yolov11m …
Initializing the hailo8 runner…
[info] Translation started on ONNX model yolov11m
[info] Restored ONNX model yolov11m (completion time: 00:00:00.17)
[info] Extracted ONNXRuntime meta-data for Hailo model (completion time: 00:00:00.54)
[info] NMS structure of yolov8 (or equivalent architecture) was detected.
[info] In order to use HailoRT post-processing capabilities, these end node names should be used: /model.23/cv2.0/cv2.0.2/Conv /model.23/cv3.0/cv3.0.2/Conv /model
.23/cv3.1/cv3.1.2/Conv /model.23/cv2.1/cv2.1.2/Conv /model.23/cv2.2/cv2.2.2/Conv /model.23/cv3.2/cv3.2.2/Conv.
[info] Start nodes mapped from original model: ‘images’: ‘yolov11m/input_layer1’.
[info] End nodes mapped from original model: ‘/model.23/cv3.0/cv3.0.2/Conv’, ‘/model.23/cv2.0/cv2.0.2/Conv’, ‘/model.23/cv3.1/cv3.1.2/Conv’, ‘/model.23/cv2.1/cv2.
1.2/Conv’, ‘/model.23/cv3.2/cv3.2.2/Conv’, ‘/model.23/cv2.2/cv2.2.2/Conv’.
[info] Translation completed on ONNX model yolov11m (completion time: 00:00:01.07)
[info] Appending model script commands to yolov11m from string
[info] Added nms postprocess command to model script.
[info] Saved HAR to: /data/yolov11m.har
Preparing calibration data…
[info] Loading model script commands to yolov11m from /local/workspace/hailo_model_zoo/hailo_model_zoo/cfg/alls/generic/yolov11m.alls
[info] Loading model script commands to yolov11m from string
[info] Found model with 3 input channels, using real RGB images for calibration instead of sampling random data.[83/1198]
[info] Starting Model Optimization
[info] Using default optimization level of 2
[info] Using default compression level of 1
[info] Model received quantization params from the hn
[info] MatmulDecompose skipped
[info] Starting Mixed Precision
[info] Assigning 4bit weights to layer yolov11m/conv22 with 2359.30k parameters
[info] Assigning 4bit weights to layer yolov11m/conv32 with 2359.30k parameters
[info] Ratio of weights in 4bit is 0.24
[info] Model Optimization Algorithm Mixed Precision is done (completion time is 00:00:00.42)
[info] Remove layer yolov11m/conv100 because it has no effect on the network output
[info] Remove layer yolov11m/conv101 because it has no effect on the network output
[info] Layer yolov11m/conv102 has near zeros weights. Replacing with with yolov11m/conv102_const_replacement
[info] LayerNorm Decomposition skipped
[info] Starting Statistics Collector
[info] Using dataset with 64 entries for calibration
Calibration: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████| 64/64 [00:23<00:00, 2.73entries/s]
[info] Model Optimization Algorithm Statistics Collector is done (completion time is 00:00:24.69)
[info] Starting Fix zp_comp Encoding
[info] Model Optimization Algorithm Fix zp_comp Encoding is done (completion time is 00:00:00.00)
[info] Starting Matmul Equalization
[info] Model Optimization Algorithm Matmul Equalization is done (completion time is 00:00:00.01)
[info] Starting MatmulDecomposeFix
[info] Model Optimization Algorithm MatmulDecomposeFix is done (completion time is 00:00:00.00)
[info] activation fitting started for yolov11m/reduce_sum_softmax1/act_op
[info] No shifts available for layer yolov11m/conv48/conv_op, using max shift instead. delta=0.3795
[info] No shifts available for layer yolov11m/conv48/conv_op, using max shift instead. delta=0.1897
[info] No shifts available for layer yolov11m/conv92/conv_op, using max shift instead. delta=2.2893
[info] No shifts available for layer yolov11m/conv92/conv_op, using max shift instead. delta=1.1447
[info] No shifts available for layer yolov11m/conv94/conv_op, using max shift instead. delta=3.1463
[info] No shifts available for layer yolov11m/conv94/conv_op, using max shift instead. delta=1.5731
[info] No shifts available for layer yolov11m/conv92/conv_op, using max shift instead. delta=1.1447
[info] No shifts available for layer yolov11m/conv95/conv_op, using max shift instead. delta=3.3606
[info] No shifts available for layer yolov11m/conv95/conv_op, using max shift instead. delta=1.6803
[info] No shifts available for layer yolov11m/conv94/conv_op, using max shift instead. delta=1.5731
[info] No shifts available for layer yolov11m/conv96/conv_op, using max shift instead. delta=2.5392
[info] No shifts available for layer yolov11m/conv96/conv_op, using max shift instead. delta=1.2696
[info] No shifts available for layer yolov11m/conv97/conv_op, using max shift instead. delta=0.2293
[info] No shifts available for layer yolov11m/conv97/conv_op, using max shift instead. delta=0.1146
[info] No shifts available for layer yolov11m/conv96/conv_op, using max shift instead. delta=1.2696
[info] Finetune encoding skipped
[info] Bias Correction skipped
[info] Adaround skipped
[info] Starting Quantization-Aware Fine-Tuning
[warning] Dataset is larger than expected size. Increasing the algorithm dataset size might improve the results
[info] Using dataset with 1024 entries for finetune
Epoch 1/4
512/512 [==============================] - 275s 364ms/step - total_distill_loss: 9.3896 - _distill_loss_yolov11m/conv102_const_replacement: 0.0012 - _distill_loss
_yolov11m/conv71: 0.1062 - _distill_loss_yolov11m/conv74: 0.6403 - _distill_loss_yolov11m/conv87: 0.0572 - _distill_loss_yolov11m/conv90: 7.0814 - _distill_loss_y
olov11m/conv105: 1.0000 - _distill_loss_yolov11m/conv67: 0.2571 - _distill_loss_yolov11m/conv83: 0.2463
Epoch 2/4
512/512 [==============================] - 186s 363ms/step - total_distill_loss: 2.4543 - _distill_loss_yolov11m/conv102_const_replacement: 0.0012 - _distill_loss
_yolov11m/conv71: 0.0964 - _distill_loss_yolov11m/conv74: 0.3665 - _distill_loss_yolov11m/conv87: 0.0498 - _distill_loss_yolov11m/conv90: 0.4486 - _distill_loss_y
olov11m/conv105: 1.0000 - _distill_loss_yolov11m/conv67: 0.2554 - _distill_loss_yolov11m/conv83: 0.2364
Epoch 3/4
512/512 [==============================] - 186s 363ms/step - total_distill_loss: 2.3533 - _distill_loss_yolov11m/conv102_const_replacement: 0.0012 - _distill_loss
_yolov11m/conv71: 0.0919 - _distill_loss_yolov11m/conv74: 0.3316 - _distill_loss_yolov11m/conv87: 0.0467 - _distill_loss_yolov11m/conv90: 0.4105 - _distill_loss_y
olov11m/conv105: 1.0000 - _distill_loss_yolov11m/conv67: 0.2447 - _distill_loss_yolov11m/conv83: 0.2268
Epoch 4/4
512/512 [==============================] - 186s 364ms/step - total_distill_loss: 2.3079 - _distill_loss_yolov11m/conv102_const_replacement: 0.0012 - _distill_loss
_yolov11m/conv71: 0.0900 - _distill_loss_yolov11m/conv74: 0.3175 - _distill_loss_yolov11m/conv87: 0.0455 - _distill_loss_yolov11m/conv90: 0.3915 - _distill_loss_y
olov11m/conv105: 1.0000 - _distill_loss_yolov11m/conv67: 0.2399 - _distill_loss_yolov11m/conv83: 0.2223 [info] Model Optimization Algorithm Quantization-Aware Fine-Tuning is done (completion time is 00:13:55.44)
[info] Starting Layer Noise Analysis Full Quant Analysis: 100%|██████████████████| 8/8 [01:58<00:00, 14.80s/iterations] [info] Model Optimization Algorithm Layer Noise Analysis is done (completion timeis 00:02:00.27)[info] Model Optimization is done [info] Saved HAR to: /data/yolov11m.har
[info] Loading model script commands to yolov11m from /local/workspace/hailo_model_zoo/hailo_model_zoo/cfg/alls/generic/yolov11m.alls[info] To achieve optimal performance, set the compiler_optimization_level to “max” by adding performance_param(compiler_optimization_level=max) to the model scri
pt. Note that this may increase compilation time.
[info] Loading network parameters [info] Starting Hailo allocation and compilation flow
[info] Adding an output layer after conv71 [info] Adding an output layer after conv74
[info] Adding an output layer after conv87 [info] Adding an output layer after conv90
[info] Adding an output layer after conv102_const_replacement [info] Adding an output layer after conv105
[info] Building optimization options fornetwork layers…
[info] Successfully built optimization options - 19s 747ms
[info] Trying to compile the network in a single context
[info] Single context flow failed: Recoverable single context error [info] Building optimization options for network layers…
[info] Successfully built optimization options - 22s 441ms
[info] Using Multi-context flow
[info] Resources optimization params: max_control_utilization=80%, max_compute_utilization=80%, max_compute_16bit_utilization=80%, max_memory_utilization (weights
)=80%, max_input_aligner_utilization=80%, max_apu_utilization=80%
[info] Trying to compile the network in a single context
[info] Single context flow failed: Recoverable single context error
[info] Building optimization options for network layers…
[info] Successfully built optimization options - 22s 441ms
[info] Using Multi-context flow
[info] Resources optimization params: max_control_utilization=80%, max_compute_utilization=80%, max_compute_16bit_utilization=80%, max_memory_utilization (weights)=80%, max_input_aligner_utilization=80%, max_apu_utilization=80%
[info] Finding the best partition to contexts…
[…<==>…[…<==>…[…<==>…] Duration: 00:03:05
Found valid partition to 2 contexts
[info] Searching for a better partition…
[…<==>…] Duration: 00:00:21
Found valid partition to 2 contexts, Performance improved by 0.1%
[info] Searching for a better partition…
[…<==>…] Duration: 00:00:35
Found valid partition to 2 contexts, Performance improved by 3.1%
[info] Searching for a better partition…
[…<==>…] Duration: 00:00:29
Found valid partition to 2 contexts, Performance improved by 6.1%
[.<==>…[.info] Searching for a better partition…
[…<==>…] Duration: 00:00:25
Found valid partition to 2 contexts, Performance improved by 0.6%
[info] Searching for a better partition…
[…<==>…] Duration: 00:02:01
Found valid partition to 2 contexts, Performance improved by 0.8%
[info] Searching for a better partition…
[…<==>…] Duration: 00:02:15
Found valid partition to 2 contexts, Performance improved by 26.5%
[info] Searching for a better partition…
[…<==>…] Duration: 00:02:10
Found valid partition to 2 contexts, Performance improved by 4.3%
[info] Searching for a better partition…
[…<==>…] Duration: 00:02:12 Found valid partition to 2 contexts, Performance improved by 2.0%
[info] Searching for a better partition…
[…<==>..] Duration: 00:01:19
Found valid partition to 3 contexts, Performance improved by 3.5%
[info] Searching for a better partition…
compiler: ../src/allocator/slotter.cpp:520: std::vector<hw_graph::context_t> allocator::move_contexts(const hw_graph::context_t&, allocator::NodesByContextMap&, const std::vector<network_graph::NetworkNode*>&, std::shared_ptr<utils::GraphInterface<network_graph::NetworkNode, network_graph::NetworkEdge> >): Assertion `pos != nodes_in_context_to_change.end()’ failed.
[error] Failed to produce compiled graph
[error] BackendAllocatorException: Compilation failed with unexpected crash