Engine not working in detectnet but in deepstream-app

Hello,

I trained a yolo model with ultralytics and convert the YoloV8.pt to YoloV8.onnx with the description from DeepStream-Yolo/docs/YOLOv8.md at master · marcoslucianops/DeepStream-Yolo · GitHub.
Running deepstream-app -c deepstream_app_config is working.
But running detectnet.py with the generated engine File does not.

The output is as follows:
[TRT] CUDA engine context initialized on device GPU:
[TRT] – layers 403
[TRT] – maxBatchSize 1
[TRT] – deviceMemory 174316544
[TRT] – bindings 4
[TRT] binding 0
– index 0
– name ‘input’
– type FP32
– in/out INPUT
– # dims 4
– dim #0 1
– dim #1 3
– dim #2 1088
– dim #3 1088
[TRT] binding 1
– index 1
– name ‘boxes’
– type FP32
– in/out OUTPUT
– # dims 3
– dim #0 1
– dim #1 24276
– dim #2 4
[TRT] binding 2
– index 2
– name ‘scores’
– type FP32
– in/out OUTPUT
– # dims 3
– dim #0 1
– dim #1 24276
– dim #2 1
[TRT] binding 3
– index 3
– name ‘classes’
– type FP32
– in/out OUTPUT
– # dims 3
– dim #0 1
– dim #1 24276
– dim #2 1
[TRT]
[TRT] binding to input 0 input binding index: 0
[TRT] binding to input 0 input dims (b=1 c=1 h=3 w=1088) size=14204928
[TRT] binding to output 0 scores binding index: 2
[TRT] binding to output 0 scores dims (b=1 c=1 h=24276 w=1) size=97104
[TRT] binding to output 1 boxes binding index: 1
[TRT] binding to output 1 boxes dims (b=1 c=1 h=24276 w=4) size=388416
[TRT] allocated 97104 bytes for unused binding 3
[TRT] device GPU, initialized /home/jetson/jetson-inference/build/aarch64/bin/model_b1_gpu0_fp32.engine
[TRT] detectNet – number of object classes: 1
[TRT] detectNet – maximum bounding boxes: 24276
[TRT] loaded 10 class labels
[TRT] didn’t load expected number of class descriptions (10 of 1)
[TRT] detectNet – number of object classes: 1
[TRT] loaded 0 class colors
[TRT] didn’t load expected number of class colors (0 of 1)
[TRT] filling in remaining 1 class colors with default colors

What am I doing wrong?

Thank you!

Hi,

Do you meet some errors or the output results are not expected?
For the detector, you might need to update the parser based on the model output correspondingly.

Thanks.

@s.lerch jetson-inference doesn’t support YOLOv8, it would need the pre/post-processing amended for it and frankly there are too many YOLO variants for me to personally keep up with, so I’d recommend to continue running it through DeepStream or there are lots of YOLO TensorRT samples out there (including in Ultralytics itself apparently)

Thank you!