Please provide complete information as applicable to your setup.
• GPU: 1650ti
• DeepStream Version: 6.2
• NVIDIA GPU Driver Version (valid for GPU only): Driver Version: 525.60.13 CUDA Version: 12.0
**• Issue Type: question
When using deepstream+triton, I am able to do inference on yolov5 models, but the detection output is not correct, it is missing some objects also the location of bbox are not accurate. The results with plain deepstream with tensorrt backend is working fine but with trtion is giving wrong outputs. Also the nms seems to be not working.
Below is the configuration files used:
deepstream_app_config.txt
[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5
[tiled-display]
enable=0
rows=2
columns=2
width=1280
height=720
[source0]
enable=1
type=3
uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4
#uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_office.mp4
num-sources=1
gpu-id=0
cudadec-memtype=0
[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming 5=Overlay
type=3
output-file = …/umar/ds_out/out_12.mp4
container = 1
#1=h264 2=h265
codec=3
enc-type=0
sync=1
bitrate=4000000
#profile = 0
#nvbuf-memory-type=0
[osd]
enable=1
border-width=2
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
[streammux]
##Boolean property to inform muxer that sources are live
live-source=1
batch-size=1
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=40000
Set muxer output width and height
width=1280
height=720
config-file property is mandatory for any gie section.
Other properties are optional and if set will override the properties set in
the infer config file.
[primary-gie]
enable=1
gpu-id=0
gie-unique-id=1
nvbuf-memory-type=0
config-file=config_yolov5_tis.txt
plugin-type=1
config_yolov5_tis.txt
infer_config {
unique_id: 1
gpu_ids: [0]
max_batch_size: 1
backend {
trt_is{
model_name: “yolov5s”
version: -1
model_repo {
root: “trtis_model_repo_v3”
log_level: 2
}
}
}
preprocess {
tensor_order: TENSOR_ORDER_LINEAR
}
postprocess {
labelfile_path:“labels.txt”
detection {
num_detected_classes:2
custom_parse_bbox_func:“NvDsInferParseYolo”
nms {
confidence_threshold:0.7
iou_threshold:0.25
topk:300
}
}
}
custom_lib {
path: "nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo.so"
}
}
config.pbtxt for triton model repo:
name: “yolov5s”
platform: “tensorrt_plan”
max_batch_size : 0
input [
{
name: “input”
data_type: TYPE_FP32
dims: [1, 3, 640, 640]
}
]
output [
{
name: “boxes”
data_type: TYPE_FP32
dims: [1, 25200 , 4]
},
{
name: “scores”
data_type: TYPE_FP32
dims: [1, 25200, 1]
},
{
name: “classes”
data_type: TYPE_FP32
dims: [1, 25200, 1]
}
]
dynamic_batching { }
instance_group [
{
count: 1
kind: KIND_GPU
}
]
default_model_filename: “model_b1_gpu0_fp32.engine”