code: def infer(info, input_data):
      class tmp:
          pass
  
      args = tmp
      tmp.outdir = ""
      tmp.result_outdir = ""
  
      class ForwardConfig:
          pass
  
      config = ForwardConfig
  
      config.executors = info.executors.values()
      config.networks = []
  
      for e in config.executors:
          if e.network.name in info.networks.keys():
              config.networks.append(info.networks[e.network.name])
          else:
              logger.critical(
                  "Network {} is not found.".format(
                      config.executor.network.name
                  )
              )
              return False
  
      normalize = True
      for d in info.datasets.values():
          normalize = d.normalize
  
      input_file_index = 0
      inputs = []
      for e in config.executors:
          for v, d in e.dataset_assign.items():
              data = input_data[input_file_index].reshape(
                  v.variable_instance.d.shape
              )
              inputs.append((d, data))
              input_file_index += 1
      data = []
      variables = []
      for v, d in inputs:
          variables.append(v)
          data.append(d)
  
      return _forward(tmp, 0, config, data, variables, False)
  
imports: import csv
  import os
  import nnabla.utils.callback
  import nnabla.utils.load
  import numpy
  from nnabla.logger import logger
  from nnabla.utils.cli.utility import let_data_to_variable, is_float, compute_full_path
  from nnabla.utils.data_iterator import data_iterator_cache
  from nnabla.utils.data_iterator import data_iterator_csv_dataset
  from nnabla.utils.data_source_loader import FileReader
  from nnabla.utils.image_utils import imsave
  from nnabla.utils.progress import configure_progress, progress
  from six.moves import map
label_desc: Use image node_id 5 for calling a global function with example usage: infer(info, input_data) and returns: _forward, False