Is it included in the engine when running nms with cluster-mode=2?

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) GPU
• DeepStream Version 6.1.1
• 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)

Hello, I put yolo.onnx in deepstream config and created an engine file using the cudaEngine function. I can think of onnx as {0:inputs, 1:outputs} format that does not include nms.

My question is, when cluster-mode=2, is it connecting by inserting a plugin such as batchedNMSDynamicPlugin, or is it returning to C++ from the host memory every time the model runs?

When I looked up the code, it seems to work in the latter way, but I’m curious

NvDsInferParseYolo -> clusterAndFillDetectionOutputNMS

It seems that the function moves in the above order, is that correct?

If you are talking about our sample /opt/nvidia/deepstream/deepstream/sources/objectDetector_Yolo, the answer is yes.

Then, in the case of nms, you mean that it is processed in real time at the cpu (host) level, not included in the engine??

Yes. NMS is working on CPU for the sample /opt/nvidia/deepstream/deepstream/sources/objectDetector_Yolo. The tensor parsing can be GPU accelerated. Please refer to /opt/nvidia/deepstream/deepstream/sources/objectDetector_Yolo/nvdsinfer_custom_impl_Yolo/NvDsInferParseCustomYolov3_cuda.cu

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.