code: def _executors(info):
      proto = info.proto
  
      class Executor:
          pass
  
      executors = OrderedDict()
  
      for e in proto.executor:
          executor = Executor()
  
          executor.proto = e
          executor.network = None
          executor.num_evaluations = (
              e.num_evaluations if e.num_evaluations > 0 else 1
          )
          executor.repeat_evaluation_type = e.repeat_evaluation_type
          executor.need_back_propagation = e.need_back_propagation
          executor.no_image_normalization = e.no_image_normalization
  
          executors[e.name] = executor
  
      return executors
  
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 13 for calling a global function with example usage: _executors(info) and returns: executors