Yolo lower performance in DeepStream 5.0

Hi,

When compared Deepstream 4.0.2 and DeepStream 5.0, YoloV3-Tiny model have performance decrease.

In DeepStream 4.0.2 FP16, I get 28.51 AVG FPS
In DeepStream 5.0, I get 25.17 AVG FPS

I used same model and same configs.

How can I solve this?

Could you also specify -

  1. what platform you are using ?
  2. Can you also share the config file with which we can repro this issue ?

I’m using NVIDIA Jetson Nano and YoloV3-Tiny.

deepstream_app_config_yoloV3_tiny.txt

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=1

[tiled-display]
enable=1
rows=1
columns=1
width=1920
height=1080
gpu-id=0
nvbuf-memory-type=0

[source0]
enable=1
type=3
uri=file:///opt/nvidia/deepstream/deepstream-5.0/samples/streams/sample_1080p_h264.mp4
num-sources=1
gpu-id=0
cudadec-memtype=0

[sink0]
enable=1
type=2
sync=0
qos=0
source-id=0
gpu-id=0
nvbuf-memory-type=0

[osd]
enable=1
gpu-id=0
border-width=5
text-size=15
text-color=1;1;1;1;
text-bg-color=0.3;0.3;0.3;1
font=Serif
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[streammux]
gpu-id=0
live-source=0
batch-size=1
batched-push-timeout=-1
width=1920
height=1080
enable-padding=0
nvbuf-memory-type=0

[primary-gie]
enable=1
gpu-id=0
gie-unique-id=1
nvbuf-memory-type=0
config-file=config_infer_primary_yoloV3_tiny.txt

[tests]
file-loop=0

config_infer_primary_yoloV3_tiny.txt (DeepStream 5.0)

[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
model-color-format=0
custom-network-config=yolov3-tiny.cfg
model-file=yolov3-tiny.weights
model-engine-file=model_b1_gpu0_fp16.engine
labelfile-path=labels.txt
batch-size=1
network-mode=2
num-detected-classes=80
interval=0
gie-unique-id=1
process-mode=1
network-type=0
is-classifier=0
cluster-mode=2
maintain-aspect-ratio=1
parse-bbox-func-name=NvDsInferParseCustomYoloV3Tiny
custom-lib-path=nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name=NvDsInferYoloCudaEngineGet

[class-attrs-all]
nms-iou-threshold=0.45
threshold=0.25

config_infer_primary_yoloV3_tiny.txt (DeepStream 4.0.2 - Used same NMS and THRESH in nvdsparsebbox_Yolo.cpp)

[property]
gpu-id=0
net-scale-factor=1
model-color-format=0
custom-network-config=yolov3-tiny.cfg
model-file=yolov3-tiny.weights
model-engine-file=model_b1_fp16.engine
labelfile-path=labels.txt
batch-size=1
network-mode=2
num-detected-classes=80
interval=0
gie-unique-id=1
process-mode=1
is-classifier=0
maintain-aspect-ratio=1
parse-bbox-func-name=NvDsInferParseCustomYoloV3Tiny
custom-lib-path=nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo.so

Any updates?

It’s strange because if I use a rtsp stream with my custom yolo model with 2 detectors (primary-gie and secondary-gie), I got this result:

DeepStream 4.0.2: 19,33 AVG FPS
DeepStream 5.0: 29.63 AVG FPS

With same/similar configs.

Thanks for the update, we are checking this and will respond once we have a solution.

Hi,
We are unable to reproduce this issue on our end. We observe similar perf on DS 4.0.2 and DS 5.0 of 27 FPS for yolov3-tiny. Can you double check your setup ? Please make sure to have max clocks enabled.