code: def evaluate(model_path):
      # ProposalLayer currently only runs on the CPU
      eval_device = C.cpu()
      model = C.Function.load(model_path, device=eval_device)
  
      from FasterRCNN.FasterRCNN_config import cfg as detector_cfg
      from utils.configs.AlexNet_config import cfg as network_cfg
      from utils.configs.Grocery_config import cfg as dataset_cfg
      from utils.config_helpers import merge_configs
      from FasterRCNN.FasterRCNN_train import prepare
      from FasterRCNN.FasterRCNN_eval import compute_test_set_aps
  
      cfg = merge_configs([detector_cfg, network_cfg, dataset_cfg])
      cfg["CNTK"].FORCE_DETERMINISTIC = True
  
      prepare(cfg, False)
      eval_results = compute_test_set_aps(model, cfg)
      meanAP = np.nanmean(list(eval_results.values()))
      return meanAP
  
imports: import os, sys, argparse, copy
  import cntk
  from cntk import ops
label_desc: Use image node_id 3 for calling a global function with example usage: evaluate(model_path) and returns: meanAP