code: def dynamic_import_optimizer(
      name: str, backend: str
  ) -> OptimizerFactoryInterface:
      """Import optimizer class dynamically.
  
      Args:
          name (str): alias name or dynamic import syntax `module:class`
          backend (str): backend name e.g., chainer or pytorch
  
      Returns:
          OptimizerFactoryInterface or FunctionalOptimizerAdaptor
  
      """
      if backend == "pytorch":
          from espnet.optimizer.pytorch import OPTIMIZER_FACTORY_DICT
  
          return OPTIMIZER_FACTORY_DICT[name]
      elif backend == "chainer":
          from espnet.optimizer.chainer import OPTIMIZER_FACTORY_DICT
  
          return OPTIMIZER_FACTORY_DICT[name]
      else:
          raise NotImplementedError(f"unsupported backend: {backend}")
  
      factory_class = dynamic_import(name)
      assert issubclass(factory_class, OptimizerFactoryInterface)
      return factory_class
  
imports: import argparse
  from espnet.utils.dynamic_import import dynamic_import
  from espnet.utils.fill_missing_args import fill_missing_args
label_desc: Use image node_id 1 for calling a global function with example usage: dynamic_import_optimizer(name, backend) and returns: factory_class, OPTIMIZER_FACTORY_DICT, OPTIMIZER_FACTORY_DICT