code: def _networks(info, proto_graph):
      def is_required(pf):
          if pf.name.startswith("$EC$/"):
              return True
          return False
  
      # TODO: sharing variable among networks
      info.proto_graph = proto_graph
      proto_graph.expand_loop_control()
      for network in proto_graph.networks.values():
          network.execute_on_proto(
              IdentityRemover(
                  info.renamed_variables, is_required=is_required
              )
          )
          network(ctx=info.default_context, batch_size=info.batch_size)
      return proto_graph.networks
  
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 1 for calling a global function with example usage: _networks(info, proto_graph) and returns: proto_graph, False, True