I’m using DeepStream 8.0 (TensorRT 10.9) and need to add NMS to my ONNX model for object detection. Related to this ticket.
The issue:
- DeepStream’s nvinfer plugin requires fixed output shapes (apart from batch sizes)
- INMSLayer outputs dynamic shapes:
selectedIndices[NumOutputBoxes, 3]asNumOutputBoxesis variable - EfficientNMS_TRT plugin outputs fixed padded shapes
[batch, max_output_boxes, 4]which works with DeepStream 8.0.
According to TensorRT 10.12 release notes, EfficientNMS_TRT is now deprecated and INMSLayer should be used instead. However, INMSLayer’s dynamic outputs cause DeepStream to fail during engine initialization.
It’s not yet an issue as DS 8.0 uses an older version of TRT, where the plugin is not yet deprecated. However I would prefer to use the native ONNX layer which isnt due to be deprecated.
Questions:
- Is there a way to configure INMSLayer to output fixed padded shapes like EfficientNMS_TRT?
- Should I continue using the soon to be deprecated EfficientNMS_TRT for DeepStream compatibility?
Any help would be appreciated!