code: def main(config):
      # configure
      np.random.seed(config["seed"])
      torch.manual_seed(config["seed"])
  
      if not config["no_cuda"] and torch.cuda.is_available():
          print("[ Using CUDA ]")
          config["device"] = torch.device(
              "cuda" if config["gpu"] < 0 else "cuda:%d" % config["gpu"]
          )
          cudnn.benchmark = True
          torch.cuda.manual_seed(config["seed"])
      else:
          config["device"] = torch.device("cpu")
  
      print("\n" + config["out_dir"])
  
      runner = ModelHandler(config)
      t0 = time.time()
  
      test_scores = runner.translate()
      print(test_scores)
  
      # print('Removed best saved model file to save disk space')
      # os.remove(runner.stopper.save_model_path)
      runtime = time.time() - t0
      print("Total runtime: {:.2f}s".format(time.time() - t0))
      runner.logger.write("Total runtime: {:.2f}s\n".format(runtime))
      runner.logger.close()
  
      return test_scores
  
imports: import argparse
  import os
  import time
  import numpy
  import torch
  import torch.backends.cudnn
  import torch.multiprocessing
  from torch.utils.data import DataLoader
  from graph4nlp.pytorch.datasets.squad import SQuADDataset
  from graph4nlp.pytorch.modules.config import get_basic_args
  from graph4nlp.pytorch.modules.evaluation import BLEU, METEOR, ROUGE
  from graph4nlp.pytorch.modules.utils import constants
  from graph4nlp.pytorch.modules.utils.config_utils import get_yaml_config, update_values
  from graph4nlp.pytorch.modules.utils.copy_utils import prepare_ext_vocab
  from graph4nlp.pytorch.modules.utils.generic_utils import all_to_cuda
  from graph4nlp.pytorch.modules.utils.logger import Logger
  from .main import QGModel
label_desc: Use image node_id 1 for calling a global function with example usage: main(config) and returns: test_scores