code: def nn_ga_optimise_from_args(
      func_caller,
      worker_manager,
      max_capital,
      mode,
      mutation_op,
      crossover_op=None,
      options=None,
      reporter="default",
  ):
      """GA optimisation from args."""
      if options is None:
          reporter = get_reporter(reporter)
          options = load_options(ga_opt_args, reporter=reporter)
      options.mode = mode
      return (
          NNGAOptimiser(
              func_caller,
              worker_manager,
              mutation_op,
              crossover_op,
              options,
              reporter,
          )
      ).optimise(max_capital)
  
file_path: dragonfly/dragonfly/nn/nn_ga_optimiser.py
imports: from argparse import Namespace
  import numpy
  from .nn_opt_utils import get_initial_pool
  from ..opt.ga_optimiser import GAOptimiser, ga_opt_args
  from ..utils.option_handler import load_options
  from ..utils.reporters import get_reporter
label_desc: Use image node_id 1 for calling a global function with example usage: nn_ga_optimise_from_args(func_caller, worker_manager, max_capital, mode, mutation_op, crossover_op, options, reporter) and returns: NNGAOptimiser