code: def _optimizers(info):
      proto, default_context = info.proto, info.default_context
      if hasattr(info, "optimizer_states_checkpoint"):
          optimizer_states_checkpoint = info.optimizer_states_checkpoint
      else:
          optimizer_states_checkpoint = None
      optimizers = OrderedDict()
  
      for o in proto.optimizer:
          ctx = (
              default_context
              if not o.solver.context.backends
              else _context(o.solver.context)
          )
          optimizer = _create_optimizer(
              ctx, o, optimizer_states_checkpoint
          )
          optimizers[o.name] = optimizer
  
      return optimizers
  
imports: import itertools
  import os
  import re
  from collections import OrderedDict
  import nnabla
  import nnabla.functions
  import nnabla.solver
  import numpy
  from nnabla.core.graph_optimizer import IdentityRemover
  from nnabla.initializer import NormalInitializer, UniformInitializer, ConstantInitializer, RangeInitializer
  from nnabla.logger import logger
  from nnabla.utils import nnabla_pb2
  from nnabla.utils.communicator_util import current_communicator, single_or_rankzero
  from nnabla.utils.create_cache import CreateCache
  from nnabla.utils.data_iterator import data_iterator_csv_dataset, data_iterator_cache
  from nnabla.utils.get_file_handle import get_initial_file_loader, load_files
  from nnabla.utils.learning_rate_scheduler import PolynomialScheduler, CosineScheduler, ExponentialScheduler, StepScheduler, LinearWarmupScheduler
label_desc: Use image node_id 11 for calling a global function with example usage: _optimizers(info) and returns: optimizers