code: def get_hyperopt_model_string(
      model, data, functions, notebook_name, verbose, stack, data_args
  ):
      model_string = inspect.getsource(model)
      model_string = remove_imports(model_string)
  
      if notebook_name:
          notebook_path = os.getcwd() + "/{}.ipynb".format(
              notebook_name
          )
          with open(notebook_path, "r") as f:
              notebook = nbformat.reads(f.read(), nbformat.NO_CONVERT)
              exporter = PythonExporter()
              source, _ = exporter.from_notebook_node(notebook)
      else:
          calling_script_file = os.path.abspath(
              inspect.stack()[stack][1]
          )
          with open(calling_script_file, "r") as f:
              source = f.read()
  
      cleaned_source = remove_all_comments(source)
      imports = extract_imports(cleaned_source, verbose)
  
      parts = hyperparameter_names(model_string)
      aug_parts = augmented_names(parts)
  
      hyperopt_params = get_hyperparameters(model_string)
      space = get_hyperopt_space(parts, hyperopt_params, verbose)
  
      functions_string = retrieve_function_string(functions, verbose)
      data_string = retrieve_data_string(data, verbose, data_args)
      model = hyperopt_keras_model(
          model_string, parts, aug_parts, verbose
      )
  
      temp_str = temp_string(
          imports, model, data_string, functions_string, space
      )
      return temp_str
  
imports: import inspect
  import os
  import re
  import sys
  import nbformat
  import numpy
  from hyperopt import fmin
  from nbconvert import PythonExporter
  from .ensemble import VotingModel
  from .utils import remove_imports, remove_all_comments, extract_imports, temp_string, write_temp_files, determine_indent, with_line_numbers, unpack_hyperopt_vals, eval_hyperopt_space, find_signature_end
label_desc: Use image node_id 5 for calling a global function with example usage: get_hyperopt_model_string(model, data, functions, notebook_name, verbose, stack, data_args) and returns: temp_str