Hi @dennis.huegle,
Thanks for the instructions. I was able to export the ONNX.
As I thought, the problem was incorrect suggestions by the Hailo Parser.
For me, the suggestion was this:
Parsing failed with recommendations for end node names: ['/model.22/dfl/Reshape_1']
which is deep inside the postprocessing ops:
While in reality, there should be 6 end nodes - the two convolution layer for each branch, for example:
You can see that from there, there are no more neural ops (the convolution layer at the end after the Softmax is de-facto a ReduceSum layer), so when you parse the model the parsing command should look like so:
hailo parser onnx yolov9-t-converted.onnx --end-node-names /model.22/cv2.0/cv2.0.2/Conv /model.22/cv3.0/cv3.0.2/Conv /model.22/cv2.1/cv2.1.2/Conv /model.22/cv3.1/cv3.1.2/Conv /model.22/cv2.2/cv2.2.2/Conv /model.22/cv3.2/cv3.2.2/Conv
When the output shapes of the end nodes should be the following:
(1,80,80,64)
(1,80,80,80)
(1,40,40,64)
(1,40,40,80)
(1,20,20,64)
(1,20,20,80)
Where the 64=4*16 channels are 4 bbox coordinates and 16 regression length, and the 80 channels is the number of classes the model was trained on.
You’ll probably have the option to add the Hailo NMS when you apply the command above, and I encourage you to do so as it’s more efficient and it will allow you to use the compiled HEF with our scripts and applications which you can find here:
Regards,