docstr: Tests that we're applying NMS correctly.
docstr_tok: ["Tests","that","we","'re","applying","NMS","correctly","."]
code: def testNMSFilter(self):
      """Tests that we're applying NMS correctly."""
  
      proposed_boxes = tf.constant(
          [
              (85, 500, 730, 590),
              (50, 500, 740, 570),
              (700, 570, 740, 598),
          ]
      )
      gt_boxes_per_class = tf.constant(
          [
              [(101, 101, 201, 249)],
              [(200, 502, 209, 532)],
              [(86, 571, 743, 599)],
          ]
      )
      bbox_pred = self._get_bbox_pred(
          proposed_boxes, gt_boxes_per_class
      )
      cls_prob = tf.constant(
          [
              (0.0, 0.1, 0.3, 0.6),
              (0.1, 0.2, 0.25, 0.45),
              (0.2, 0.3, 0.25, 0.25),
          ]
      )
  
      proposal_prediction = self._run_rcnn_proposal(
          self._shared_model,
          proposed_boxes,
          bbox_pred,
          cls_prob,
      )
  
      # All proposals are mapped perfectly into each GT box, so we should
      # have 3 resulting objects after applying NMS.
      self.assertEqual(len(proposal_prediction["objects"]), 3)
  
file_path: luminoth/luminoth/models/fasterrcnn/rcnn_proposal_test.py
imports: import tensorflow
  from easydict import EasyDict
  from luminoth.models.fasterrcnn.rcnn_proposal import RCNNProposal
  from luminoth.utils.bbox_transform_tf import encode
label_desc: Use image node_id 7 for calling the RCNNProposalTest obj's underlying member method code with example usage: obj.testNMSFilter() without return types