code: def run_video(video_name, gt_name, pred_name, iou=0.5):
      gdata = np.load(gt_name, allow_pickle=True)
      pdata = np.load(pred_name, allow_pickle=True)
      gdict = array2dict(gdata)
      pdict = array2dict(pdata)
  
      acc = mm.MOTAccumulator(auto_id=True)
  
      for i in range(len(pdict)):
          try:
              acc = update_acc(
                  acc,
                  gdict[i] if i in gdict else [],
                  pdict[i] if i in pdict else [],
                  min_iou=iou,
              )
          except:
              print("failed on video {}".format(video_name))
              sys.stdout.flush()
              break
  
      mh = mm.metrics.create()
      video_results = mh.compute(
          acc,
          metrics=[
              "num_frames",
              "mota",
              "motp",
              "num_transfer",
              "idf1",
              "num_switches",
              "mostly_tracked",
              "partially_tracked",
              "mostly_lost",
              "precision",
              "recall",
              "idtp",
              "num_objects",
              "num_predictions",
              "num_misses",
              "num_false_positives",
              "num_detections",
          ],
          name="acc",
      )
      return video_name, video_results
  
file_path: gluon-cv/scripts/tracking/smot/helper.py
imports: import motmetrics
  import numpy
  import os
  import sys
label_desc: Use image node_id 14 for calling a global function with example usage: run_video(video_name, gt_name, pred_name, iou) and returns: video_name,  video_results