How to match yolov3 TLT config in Experiment Spec File to deepstream pgie config?

I want to match the values in NMS Config component in yolov3 experiment spec file to deepstream pgie config but I’m not sure how to go about it.

For example, if I have:

nms_config {
confidence_threshold: 0.01
clustering_iou_threshold: 0.6
top_k: 200
}

In the pgie config file:

[property]
#Integer 0: OpenCV groupRectangles() 1: DBSCAN 2: Non Maximum Suppression 3: DBSCAN + NMS Hybrid 4:No clustering
cluster-mode=?
[class-attrs-all]
pre-cluster-threshold=0.01
post-cluster-threshold=?
nms-iou-threshold=0.6
topk=200

My questions:

  1. What is the role of cluster-mode? My understand is the clustering used by deepstream are to group nearby bboxes together before NMS is applied, is that correct? How do I set cluster-mode value? I usually set cluster-mode=2 for yolov3, is that appropriate?
  2. Is nms-iou-threshold the same as clustering_iou_threshold?
  3. Is confidence_threshold the same as pre-cluster-threshold?
  4. What is the different between role of pre-cluster-threshold and post-cluster-threshold, I know that one is before and the other is after clustering, but what does that mean? Does it mean pre-cluster-threshold is used to remove bbox whose confidence is below pre-cluster-threshold before entering NMS post-process while post-cluster-threshold is used to remove bbox that survive the NMS post-process but confidence is lower than post-cluster-threshold?

Please search the info from

  1. /opt/nvidia/deepstream/deepstream-5.0/sources/gst-plugins/gst-nvinfer/gstnvinfer_property_parser.h

  2. Gst-nvinfer — DeepStream 6.1.1 Release documentation

or 3) deepstream forum.
For example, Pre cluster threshold - #3 by mchi