code: def _load_optimizer_checkpoint(opti_proto, opti_h5_files, info):
      if opti_proto.optimizer:
          opti_proto_dict = {}
          for o in opti_proto.optimizer:
              opti_proto_dict[o.name] = o
          for o in info.optimizers.values():
              if o.name in opti_proto_dict:
                  o.solver.set_states_from_protobuf(
                      opti_proto_dict[o.name]
                  )
      elif opti_h5_files:
          for o in info.optimizers.values():
              key = "{}_{}_optimizer.h5.optimizer".format(
                  o.name, re.sub(r"(|Cuda)$", "", str(o.solver.name))
              )
              if key in opti_h5_files:
                  name_ext = opti_h5_files[key]
                  filepath = os.path.splitext(name_ext)[0]
                  os.rename(name_ext, filepath)
                  o.solver.load_states(filepath)
  
imports: from collections import OrderedDict
  import google.protobuf.text_format
  import itertools
  import numpy
  import os
  import re
  import shutil
  import tempfile
  from nnabla.initializer import NormalInitializer, UniformInitializer, ConstantInitializer, RangeInitializer, calc_normal_std_he_forward, calc_normal_std_he_backward, calc_normal_std_glorot, calc_uniform_lim_glorot
  from nnabla.logger import logger
  from nnabla.parameter import get_parameter_or_create
  from nnabla.utils import nnabla_pb2
  from nnabla.utils.data_iterator import data_iterator_csv_dataset, data_iterator_cache
  from nnabla.utils.create_cache import CreateCache
  from nnabla.utils.load_function import _create_function_instance
  from nnabla.utils.nnp_format import nnp_version
  from nnabla.utils.communicator_util import current_communicator, single_or_rankzero
  from nnabla.utils.learning_rate_scheduler import PolynomialScheduler, CosineScheduler, ExponentialScheduler, StepScheduler, LinearWarmupScheduler
  from legacy_network import Network
  from nnabla.utils.progress import progress
  from legacy_get_file_handle import get_file_handle_load, get_buf_type
  import nnabla
  import nnabla.function
  import nnabla.solver
label_desc: Use image node_id 18 for calling a global function with example usage: _load_optimizer_checkpoint(opti_proto, opti_h5_files, info) without return types