Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) A6000 • DeepStream Version 6.4 • JetPack Version (valid for Jetson only) • TensorRT Version • NVIDIA GPU Driver Version (valid for GPU only) • Issue Type( questions, new requirements, bugs) • How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing) • Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
Hi, I am using docker to run my deepstream application. However, I would like to know the latency of each plugins and the average fps of the application. May i know how can i export the command in docker compose file to use in my deepstream docker application.
I have tried command: > sh -c "export NVDS_ENABLE_COMPONENT_LATENCY_MEASUREMENT=1 && python3 deepstream_lpr_app.py" but it only prompts until my environmental variables, and the docker exited with a code 0.
Thanks for the resources, i am able to get the latency. Do you mind sharing ideas on how to reduce the latency for each of the plugins in the deepstream pipeline? Besides, for enable-perf-measurement, can we directly use export enable-perf-measurement=1?
What is your pipeline and what elements do you use? For the commonly used elements below
For nvv4l2decoder, drop-frame-interval property is use to drop the frames,ex: value of 5 means every 5th frame will be given by decoder, rest all dropped
For nvstreammux, use original frame width and height to avoid scaling.
For nvinfer, interval property specifies number of consecutive batches to be skipped for inference.
For what have u mentioned, we have tried it before. However, without dropping frames or setting the interval property for nvinfer, the amount of CCTVs that are able to handled is ard 10 CCTV @ 25fps. We noticed the GPU utilisation is 100% but the decoder utilisation is only at 10%. Our current deepstream are using 7 model to inference the attribute of a vehicle. May i know any suggestion to reduce the GPU utilisation?
Besides, i noticed the latency for each plugins, where the streammux contains the most latency, ~210ms. Any suggestion to reduce this latency?
The width and height are the original resolution of our rtsp stream, will the scaling be carried out even when the input stream is same as the scalling for nvstreammux? Besides, for the timeout is set at 40000, as the livestreams are running at 25fps.
I don’t think the model is much an issue as they are not contributing much of latency. All within 1-25ms. Only for the streammux that is contributing for 250-300ms. Any idea or are there alternative than using the nvstreammux.
Thanks for the hint, i forgot to switch off the live-source to 0 as i am testing using video files only. My average latency for each batch is around 11ms now for running live rtsp sources. However, there will be a spike where average latency goes up until 72ms.
This spike happens every 28-35 frames interval.
Besides, I notice that the spike for the frames is caused by the nvstreammux. Averagely it uses 0.2ms but out of a sudden it can spike for few frames until reaches 56ms.
1.This problem may be caused by high gpu loading. If the GPU loading is too high, nvinfer will consume a batch slowly.
The batch is allocated from the memory pool of nvstreammux. If there is no available memory in the pool, nvstreammux will be stuck. Therefore, you need to optimize the model first to reduce GPU loading.
Increasing the value of buffer-pool-size property of nvstreammux can alleviate this problem, but this is not the root cause.
2.For LPR, the number of vehicles and license plates also affects GPU loading.
There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks