code: def run_evaluation(
      config_filepath, backend="nccl", with_clearml=True
  ):
      """Main entry to run model's evaluation:
          - compute validation metrics
  
      Args:
          config_filepath (str): evaluation configuration .py file
          backend (str): distributed backend: nccl, gloo, horovod or None to run without distributed config
          with_clearml (bool): if True, uses ClearML as experiment tracking system
      """
      assert torch.cuda.is_available(), torch.cuda.is_available()
      assert torch.backends.cudnn.enabled
      torch.backends.cudnn.benchmark = True
  
      config_filepath = Path(config_filepath)
      assert (
          config_filepath.exists()
      ), f"File '{config_filepath.as_posix()}' is not found"
  
      with idist.Parallel(backend=backend) as parallel:
          logger = setup_logger(
              name="Pascal-VOC12 Evaluation",
              distributed_rank=idist.get_rank(),
          )
  
          config = ConfigObject(config_filepath)
          InferenceConfigSchema.validate(config)
          config.script_filepath = Path(__file__)
  
          output_path = setup_experiment_tracking(
              config, with_clearml=with_clearml, task_type="testing"
          )
          config.output_path = output_path
  
          utils.log_basic_info(
              logger, get_params(config, InferenceConfigSchema)
          )
  
          try:
              parallel.run(
                  evaluation,
                  config,
                  logger=logger,
                  with_clearml=with_clearml,
              )
          except KeyboardInterrupt:
              logger.info("Catched KeyboardInterrupt -> exit")
          except Exception as e:  # noqa
              logger.exception("")
              raise e
  
imports: import os
  from functools import partial
  from pathlib import Path
  import fire
  import torch
  import dataflow
  import utils
  import vis
  from py_config_runner import ConfigObject, get_params, InferenceConfigSchema, TrainvalConfigSchema
  import ignite.distributed
  from ignite.contrib.engines import common
  from ignite.engine import Engine, Events
  from ignite.handlers import Checkpoint
  from ignite.metrics import ConfusionMatrix, IoU, mIoU
  from ignite.utils import manual_seed, setup_logger
label_desc: Use image node_id 10 for calling a global function with example usage: run_evaluation(config_filepath, backend, with_clearml) without return types