Hef has periph_calculation_in_hailort feature disabled

Hello,
I’m using tiny_yolov4_license_plates.hef with HailoRT 4.21.0, but I get unsupported error.

Loading model: ./tiny_yolov4_license_plates.hef
[HailoRT] [error] CHECK failed - Hef has periph_calculation_in_hailort feature disabled - this HEF is outdated and no longer supported. Please update HEF
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_HEF_NOT_SUPPORTED(92)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_HEF_NOT_SUPPORTED(92)
[HailoRT] [error] Failed parsing HEF file
[HailoRT] [error] Failed creating HEF
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_HEF_NOT_SUPPORTED(92)

Can somebody tell me how to modify the HEF to make it compatible with HailoRT 4.21.0? I assume I have to use DFC to modify the hef file.

Thanks.

The HEF file is a binary and cannot be changed. For now you can only use HailoRT 4.20. I just checked and the model is still running with that version.
I will check with my colleagues and see what can be done.

1 Like

My colleagues have updated the model HEF files. You can download them from the Model Zoo.

GitHub - Hailo Model Zoo - Hailo Models

1 Like

Please note that the output vectors changed.

The older tiny_yolov4_license_plates of 6.5Mb gives:

Allocated space for 1 input vectors
Allocated space for 8 output vectors

Allocated space for 519168 on input vector: 0
Allocated space for 1014 on output vector: 0
Allocated space for 507 on output vector: 1
Allocated space for 507 on output vector: 2
Allocated space for 1014 on output vector: 3
Allocated space for 4056 on output vector: 4
Allocated space for 2028 on output vector: 5
Allocated space for 2028 on output vector: 6
Allocated space for 4056 on output vector: 7

tiny_yolov4_license_plates/input_layer1 - 519168
tiny_yolov4_license_plates/conv19_centers - 1014
tiny_yolov4_license_plates/conv19_obj - 507
tiny_yolov4_license_plates/conv19_probs - 507
tiny_yolov4_license_plates/conv19_scales - 1014
tiny_yolov4_license_plates/conv21_centers - 4056
tiny_yolov4_license_plates/conv21_obj - 2028
tiny_yolov4_license_plates/conv21_probs - 2028
tiny_yolov4_license_plates/conv21_scales - 4056

The newertiny_yolov4_license_plates of 7.2Mb gives:

Allocated space for 1 input vectors
Allocated space for 2 output vectors

Allocated space for 519168 on input vector: 0
Allocated space for 6084 on output vector: 0
Allocated space for 24336 on output vector: 1

tiny_yolov4_license_plates/input_layer1 - 519168
tiny_yolov4_license_plates/conv19 - 6084
tiny_yolov4_license_plates/conv21 - 24336

hailortcli parse-hef tiny_yolov4_license_plates.hef
Architecture HEF was compiled for: HAILO15H
Network group name: tiny_yolov4_license_plates, Single Context
    Network name: tiny_yolov4_license_plates/tiny_yolov4_license_plates
        VStream infos:
            Input  tiny_yolov4_license_plates/input_layer1 UINT8, NHWC(416x416x3)
            Output tiny_yolov4_license_plates/conv19 UINT16, NHWC(13x13x18)
            Output tiny_yolov4_license_plates/conv21 UINT16, NHWC(26x26x18)

@KlausK Sorry for taking so long, but I have only now got around to use the model.

The model is compiled for HAILO15H, whereas the previous version was for HAILO8, which is what I’m using.

Is it possible to have it ocmpiled for HAILO8 as well?

Thanks