code: def objective(trial):
      FLAGS.lm_alpha = trial.suggest_uniform(
          "lm_alpha", 0, FLAGS.lm_alpha_max
      )
      FLAGS.lm_beta = trial.suggest_uniform(
          "lm_beta", 0, FLAGS.lm_beta_max
      )
  
      is_character_based = trial.study.user_attrs["is_character_based"]
  
      samples = []
      for step, test_file in enumerate(FLAGS.test_files.split(",")):
          tfv1.reset_default_graph()
  
          current_samples = evaluate([test_file], create_model)
          samples += current_samples
  
          # Report intermediate objective value.
          wer, cer = wer_cer_batch(current_samples)
          trial.report(cer if is_character_based else wer, step)
  
          # Handle pruning based on the intermediate value.
          if trial.should_prune():
              raise optuna.exceptions.TrialPruned()
  
      wer, cer = wer_cer_batch(samples)
      return cer if is_character_based else wer
  
file_path: DeepSpeech/lm_optimizer.py
imports: from __future__ import absolute_import, print_function
  import absl.app
  import optuna
  import sys
  import tensorflow.compat.v1
  from deepspeech_training.evaluate import evaluate
  from deepspeech_training.train import create_model
  from deepspeech_training.util.config import Config, initialize_globals
  from deepspeech_training.util.flags import create_flags, FLAGS
  from deepspeech_training.util.logging import log_error
  from deepspeech_training.util.evaluate_tools import wer_cer_batch
  from ds_ctcdecoder import Scorer
label_desc: Use image node_id 2 for calling a global function with example usage: objective(trial) and returns: unknown