I am attempting to convert a modified yolov8n pose model, but failed and show me the following error message:
[info] Simplified ONNX model for a parsing retry attempt (completion time: 00:00:01.30)
Traceback (most recent call last):
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/parser/parser.py”, line 235, in translate_onnx_model
parsing_results = self._parse_onnx_model_to_hn(
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/parser/parser.py”, line 316, in _parse_onnx_model_to_hn
return self.parse_model_to_hn(
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/parser/parser.py”, line 359, in parse_model_to_hn
fuser = HailoNNFuser(converter.convert_model(), net_name, converter.end_node_names)
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/translator.py”, line 82, in convert_model
self._create_layers()
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/edge_nn_translator.py”, line 39, in _create_layers
self._add_direct_layers()
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/edge_nn_translator.py”, line 121, in _add_direct_layers
self._layer_callback_from_vertex(vertex)
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/onnx_translator/onnx_translator.py”, line 523, in _layer_callback_from_vertex
if vertex.is_space_to_depth():
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/onnx_translator/onnx_graph.py”, line 5511, in is_space_to_depth
slices_args, _ = succ.get_slices_args()
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/onnx_translator/onnx_graph.py”, line 5275, in get_slices_args
elif slice_args[“steps”].shape == ():
AttributeError: ‘list’ object has no attribute ‘shape’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/mnt/work/hailo/study/yolov8/convert_onnx2har.py”, line 14, in
hn, npz = runner.translate_onnx_model(
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_common/states/states.py”, line 16, in wrapped_func
return func(self, *args, **kwargs)
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/runner/client_runner.py”, line 1192, in translate_onnx_model
parser.translate_onnx_model(
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/parser/parser.py”, line 276, in translate_onnx_model
parsing_results = self._parse_onnx_model_to_hn(
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/parser/parser.py”, line 316, in _parse_onnx_model_to_hn
return self.parse_model_to_hn(
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/sdk_backend/parser/parser.py”, line 359, in parse_model_to_hn
fuser = HailoNNFuser(converter.convert_model(), net_name, converter.end_node_names)
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/translator.py”, line 82, in convert_model
self._create_layers()
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/edge_nn_translator.py”, line 39, in _create_layers
self._add_direct_layers()
File “/root/miniconda3/envs/hailo8_py310/lib/python3.10/site-packages/hailo_sdk_client/model_translator/edge_nn_translator.py”, line 162, in _add_direct_layers
raise ParsingWithRecommendationException(
hailo_sdk_client.model_translator.exceptions.ParsingWithRecommendationException: Parsing failed. The errors found in the graph are:
UnsupportedModelError in op /model.22/Add_3: In vertex /model.22/Add_3_input the constant value shape (2, 8400, 1) must be broadcastable to the output shape [1, 8400, 34]
Please try to parse the model again, using these end node names: /model.22/Concat_2, /model.22/Concat_1, /model.22/Concat_3, /model.22/Sigmoid_1, /model.22/Mul_3
I modified the conversion script according to its suggestions. It did convert normally, but it changed the output, which had an impact on the subsequent processing. How can one successfully make the conversion without altering the output?
