code: def test_approx_iou_assigner(self):
      assigner = ApproxMaxIoUAssigner(
          pos_iou_thr=0.5,
          neg_iou_thr=0.5,
      )
      bboxes = torch.FloatTensor(
          [
              [0, 0, 10, 10],
              [10, 10, 20, 20],
              [5, 5, 15, 15],
              [32, 32, 38, 42],
          ]
      )
      gt_bboxes = torch.FloatTensor(
          [
              [0, 0, 10, 9],
              [0, 10, 10, 19],
          ]
      )
      gt_labels = torch.LongTensor([2, 3])
  
      pred_instances = InstanceData()
      pred_instances.priors = bboxes
      pred_instances.approxs = bboxes[:, None, :]
      gt_instances = InstanceData()
      gt_instances.bboxes = gt_bboxes
      gt_instances.labels = gt_labels
      assign_result = assigner.assign(pred_instances, gt_instances)
  
      expected_gt_inds = torch.LongTensor([1, 0, 2, 0])
      self.assertTrue(
          torch.all(assign_result.gt_inds == expected_gt_inds)
      )
  
file_path: mmdetection/tests/test_models/test_task_modules/test_assigners/test_approx_max_iou_assigner.py
imports: from unittest import TestCase
  import torch
  from mmengine.structures import InstanceData
  from mmdet.models.task_modules.assigners import ApproxMaxIoUAssigner
label_desc: Use image node_id 1 for calling the TestApproxIoUAssigner obj's underlying member method code with example usage: obj.test_approx_iou_assigner() without return types