I was trying to compile a custom trained yolov8s model. During that it gives following error.
Traceback (most recent call last):
File "/local/workspace/optimize.py", line 86, in <module>
runner.optimize(calibration_data)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_common/states/states.py", line 16, in wrapped_func
return func(self, *args, **kwargs)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/runner/client_runner.py", line 2201, in optimize
result = self._optimize(
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_common/states/states.py", line 16, in wrapped_func
return func(self, *args, **kwargs)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/runner/client_runner.py", line 2003, in _optimize
self._sdk_backend.optimize_full_precision(data_continer)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/sdk_backend.py", line 1722, in optimize_full_precision
model, params = self._apply_model_modification_commands(model, params, update_model_and_params)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/sdk_backend.py", line 1610, in _apply_model_modification_commands
model, params = command.apply(model, params, hw_consts=self.hw_arch.consts)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/script_parser/nms_postprocess_command.py", line 402, in apply
self._update_config_file(hailo_nn)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/script_parser/nms_postprocess_command.py", line 564, in _update_config_file
self._update_config_layers(hailo_nn)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/script_parser/nms_postprocess_command.py", line 614, in _update_config_layers
self._set_yolo_config_layers(hailo_nn)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/script_parser/nms_postprocess_command.py", line 642, in _set_yolo_config_layers
conv_layers = self._get_output_preds(hailo_nn)
File "/local/workspace/hailo_virtualenv/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/script_parser/nms_postprocess_command.py", line 624, in _get_output_preds
raise AllocatorScriptParserException(
hailo_sdk_client.sdk_backend.sdk_backend_exceptions.AllocatorScriptParserException: Error in the last layers of the model, expected conv but found concat layer.
And used .alls and .json file is here.
# .alls
normalization1 = normalization([0.0, 0.0, 0.0], [255.0, 255.0, 255.0])
change_output_activation(conv42, linear)
change_output_activation(conv53, linear)
change_output_activation(conv63, linear)
quantization_param([conv42, conv53, conv63], force_range_out=[0.0, 1.0])
nms_postprocess("yolov8s_nms_config.json", meta_arch=yolov8, engine=cpu)
# .json
{
"nms_scores_th": 0.2,
"nms_iou_th": 0.7,
"image_dims": [
320,
320
],
"max_proposals_per_class": 100,
"classes": 1,
"regression_length": 16,
"background_removal": false,
"background_removal_index": 0,
"bbox_decoders": [
{
"name": "bbox_decoder_stride_32",
"stride": 32,
"reg_layer": "conv62",
"cls_layer": "conv63"
},
{
"name": "bbox_decoder_stride_16",
"stride": 16,
"reg_layer": "conv52",
"cls_layer": "conv53"
},
{
"name": "bbox_decoder_stride_8",
"stride": 8,
"reg_layer": "conv41",
"cls_layer": "conv42"
}
]
}
Should i remake onnx file? Or do any other methods?