code: def test_detection(model):
      test_img_file = os.path.join("test_imgs", "runners.jpg")
      img = mx.image.imread(test_img_file)
      img, _ = mx.image.center_crop(
          img, size=(model.input_shape[1], model.input_shape[2])
      )
      img = img.expand_dims(0).astype("float32")
  
      onnx_session = rt.InferenceSession(model.onnx_model, None)
      input_name = onnx_session.get_inputs()[0].name
  
      gluon_class_ids, gluon_scores, gluon_boxes = model.predict(img)
      # center_net_resnet models have different output format
      if "center_net_resnet" in model.model_name:
          onnx_scores, onnx_class_ids, onnx_boxes = onnx_session.run(
              [], {input_name: img.asnumpy()}
          )
          assert_almost_equal(
              gluon_class_ids.asnumpy(), onnx_class_ids, decimal=3
          )
          assert_almost_equal(
              gluon_scores.asnumpy(), onnx_scores, decimal=3
          )
          assert_almost_equal(
              gluon_boxes.asnumpy(), onnx_boxes, decimal=3
          )
      else:
          onnx_class_ids, onnx_scores, onnx_boxes = onnx_session.run(
              [], {input_name: img.asnumpy()}
          )
          if not assert_obj_detetion_result(
              gluon_class_ids[0],
              gluon_scores[0],
              gluon_boxes[0],
              onnx_class_ids[0],
              onnx_scores[0],
              onnx_boxes[0],
          ):
              raise AssertionError(
                  "Assertion error on model: " + model.model_name
              )
  
file_path: gluon-cv/tests/onnx/test_inference.py
label_desc: Use image node_id 3 for calling a global function with example usage: test_detection(model) without return types