code: def test_step(self, data):
      input, gt_boxes = data
      prediction = self(input, training=False)
      ap = tf.py_function(
          func=lambda *args: utils.calc_mAP(
              args[:-2], args[-2], args[-1]
          ),
          inp=[*prediction, gt_boxes, self.classes_num],
          Tout=tf.float64,
      )
      self.mAP_tracker.update_state(ap)
  
      return {"mAP": self.mAP_tracker.result()}
  
imports: import tensorflow
  import numpy
  from layers import Mish, ScaledRandomUniform
  import utils
label_desc: Use image node_id 4 for calling the YOLOv4Model obj's underlying member method code with example usage: obj.test_step(data) and returns: dict