code: def _main_(args):
      config_path = args.conf
  
      with open(config_path) as config_buffer:
          config = json.loads(config_buffer.read())
  
      ###############################
      #   Create the validation generator
      ###############################
      valid_ints, labels = parse_voc_annotation(
          config["valid"]["valid_annot_folder"],
          config["valid"]["valid_image_folder"],
          config["valid"]["cache_name"],
          config["model"]["labels"],
      )
  
      labels = (
          labels.keys()
          if len(config["model"]["labels"]) == 0
          else config["model"]["labels"]
      )
      labels = sorted(labels)
  
      valid_generator = BatchGenerator(
          instances=valid_ints,
          anchors=config["model"]["anchors"],
          labels=labels,
          downsample=32,  # ratio between network input's size and network output's size, 32 for YOLOv3
          max_box_per_image=0,
          batch_size=config["train"]["batch_size"],
          min_net_size=config["model"]["min_input_size"],
          max_net_size=config["model"]["max_input_size"],
          shuffle=True,
          jitter=0.0,
          norm=normalize,
      )
  
      ###############################
      #   Load the model and do evaluation
      ###############################
      os.environ["CUDA_VISIBLE_DEVICES"] = config["train"]["gpus"]
  
      infer_model = load_model(config["train"]["saved_weights_name"])
  
      # compute mAP for all the classes
      average_precisions = evaluate(infer_model, valid_generator)
  
      # print the score
      for label, average_precision in average_precisions.items():
          print(labels[label] + ": {:.4f}".format(average_precision))
      print(
          "mAP: {:.4f}".format(
              sum(average_precisions.values()) / len(average_precisions)
          )
      )
  
file_path: ImageAI/imageai_tf_deprecated/Detection/Custom/evaluate.py
imports: import argparse
  import os
  import json
  from imageai.Detection.Custom.voc import parse_voc_annotation
  from imageai.Detection.Custom.generator import BatchGenerator
  from imageai.Detection.Custom.utils.utils import normalize, evaluate
  from keras.models import load_model
label_desc: Use image node_id 1 for calling a global function with example usage: _main_(args) without return types