I am experiencing performance issue with yolov8l custom trained model using DeepStream 6.3. I am using this documentation Deploy YOLOv8 with TensorRT and DeepStream SDK | Seeed Studio Wiki for generating cfg, wts and label.txt files and performing inference on a sample video , video.mp4. I am getting just 13 FPS on average. How can I increase fps? I want it upto 25 to 30 fps.
SYSTEM
Jetson Nano
CUDA 11.4, V11.4.315
Ubuntu 20.04
Jetpack 5.1.2
PyTorch 2.1.0
Torchvision 0.16.1
TensorRT 8.5.2.2
OUTPUT
deepstream-app -c deepstream_app_config.txt
Deserialize yoloLayer plugin: yolo
0:00:04.379478892 206341 0xaaaac3867e30 INFO nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1988> [UID = 1]: deserialized trt engine from :/home/kodifly/DeepStream-Yolo/custom_model_9_classes/DeepStream-Yolo/model_b1_gpu0_fp32.engine
INFO: [Implicit Engine Info]: layers num: 5
0 INPUT kFLOAT data 3x640x640
1 OUTPUT kFLOAT num_detections 1
2 OUTPUT kFLOAT detection_boxes 8400x4
3 OUTPUT kFLOAT detection_scores 8400
4 OUTPUT kFLOAT detection_classes 8400
0:00:04.573165375 206341 0xaaaac3867e30 INFO nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2091> [UID = 1]: Use deserialized engine model: /home/kodifly/DeepStream-Yolo/custom_model_9_classes/DeepStream-Yolo/model_b1_gpu0_fp32.engine
0:00:04.603658079 206341 0xaaaac3867e30 INFO nvinfer gstnvinfer_impl.cpp:328:notifyLoadModelStatus:<primary_gie> [UID 1]: Load new model:/home/kodifly/DeepStream-Yolo/custom_model_9_classes/DeepStream-Yolo/config_infer_primary.txt sucessfully
Runtime commands:
h: Print this help
q: Quit
p: Pause
r: Resume
NOTE: To expand a source in the 2D tiled display and view object details, left-click on the source.
To go back to the tiled display, right-click anywhere on the window.
** INFO: <bus_callback:239>: Pipeline ready
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
** INFO: <bus_callback:225>: Pipeline running
**PERF: FPS 0 (Avg)
**PERF: 0.00 (0.00)
**PERF: 13.56 (13.46)
**PERF: 13.74 (13.65)
**PERF: 13.77 (13.63)
**PERF: 13.76 (13.67)
**PERF: 13.77 (13.70)
Quitting
nvstreammux: Successfully handled EOS for source_id=0
App run successful
File deepstream_app_config.txt
[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5
[tiled-display]
enable=1
rows=1
columns=1
width=1280
height=720
gpu-id=0
nvbuf-memory-type=0
[source0]
enable=1
type=3
uri=file:///home/kodifly/DeepStream-Yolo/custom_model_9_classes/DeepStream-Yolo/video.mp4
num-sources=1
gpu-id=0
cudadec-memtype=0
[sink0]
enable=1
type=2
sync=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=40000
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.txt
[tests]
file-loop=0
File config_infer_primary.txt
[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
model-color-format=0
custom-network-config=yolov8l.cfg
model-file=yolov8l.wts
model-engine-file=model_b1_gpu0_fp32.engine
#int8-calib-file=calib.table
labelfile-path=labels.txt
batch-size=1
network-mode=0
num-detected-classes=9
interval=0
gie-unique-id=1
process-mode=1
network-type=0
cluster-mode=2
maintain-aspect-ratio=0
symmetric-padding=1
parse-bbox-func-name=NvDsInferParseYolo
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
pre-cluster-threshold=0.25
topk=300