code: def build_processors(
      processors_config: DictConfig,
      registry_key: str = None,
      *args,
      **kwargs,
  ) -> ProcessorDict:
      """Given a processor config, builds the processors present and returns back
      a dict containing processors mapped to keys as per the config
  
      Args:
          processors_config (omegaconf.DictConfig): OmegaConf DictConfig describing
              the parameters and type of each processor passed here
  
          registry_key (str, optional): If passed, function would look into registry for
              this particular key and return it back. .format with processor_key will
              be called on this string. Defaults to None.
  
      Returns:
          ProcessorDict: Dictionary containing key to
              processor mapping
      """
      from mmf.datasets.processors.processors import Processor
  
      processor_dict = {}
  
      for processor_key, processor_params in processors_config.items():
          if not processor_params:
              continue
  
          processor_instance = None
          if registry_key is not None:
              full_key = registry_key.format(processor_key)
              processor_instance = registry.get(
                  full_key, no_warning=True
              )
  
          if processor_instance is None:
              processor_instance = Processor(
                  processor_params, *args, **kwargs
              )
              # We don't register back here as in case of hub interface, we
              # want the processors to be instantiate every time. BaseDataset
              # can register at its own end
          processor_dict[processor_key] = processor_instance
  
      return processor_dict
  
imports: import logging
  import os
  import warnings
  from enum import Enum
  from typing import Any, Dict, List, Optional, Tuple, Union
  import mmf
  import pytorch_lightning
  import torch
  from mmf.common.meter import Meter
  from mmf.common.registry import registry
  from mmf.datasets.iteration_strategies import ConstantIterationStrategy, IterationStrategy, SizeProportionalIterationStrategy
  from mmf.datasets.processors.processors import Processor
  from mmf.utils.configuration import Configuration, get_global_config
  from mmf.utils.distributed import is_dist_initialized, is_main, is_xla, synchronize
  from mmf.utils.general import get_optimizer_parameters
  from omegaconf import DictConfig, OmegaConf
  from packaging import version
label_desc: Use image node_id 19 for calling a global function with example usage: build_processors(processors_config, registry_key) and returns: processor_dict