code: def build_scheduler(
      opts: argparse.Namespace, *args, **kwargs
  ) -> BaseLRScheduler:
      scheduler_name = getattr(opts, "scheduler.name").lower()
  
      # We registered the base class using a special `name` (i.e., `__base__`)
      # in order to access the arguments defined inside those classes. However, these classes are not supposed to
      # be used. Therefore, we raise an error for such cases
      if scheduler_name == "__base__":
          logger.error(
              "__base__ can't be used as a projection name. Please check."
          )
  
      scheduler = SCHEDULER_REGISTRY[scheduler_name](
          opts, *args, **kwargs
      )
      return scheduler
  
imports: import argparse
  from optim.scheduler.base_scheduler import BaseLRScheduler
  from utils import logger
  from utils.registry import Registry
label_desc: Use image node_id 1 for calling a global function with example usage: build_scheduler(opts) and returns: scheduler