code: def _get_config(search_alg, executor):
      input_features = [number_feature()]
      output_features = [binary_feature()]
  
      # When using the hb_bohb scheduler, num_epochs must equal max_t (which is 81 by default)
      num_epochs = (
          1 if search_alg["type"] == "variant_generator" else 81
      )
  
      return {
          "input_features": input_features,
          "output_features": output_features,
          "combiner": {"type": "concat"},
          TRAINER: {
              "epochs": num_epochs,
              "learning_rate": 0.001,
              BATCH_SIZE: 128,
          },
          "hyperopt": {
              **HYPEROPT_CONFIG,
              "executor": executor,
              "search_alg": search_alg,
          },
      }
  
imports: import os.path
  import shutil
  import uuid
  from unittest.mock import patch
  import pytest
  from ludwig.api import LudwigModel
  from ludwig.callbacks import Callback
  from ludwig.constants import ACCURACY, AUTO, BATCH_SIZE, EXECUTOR, MAX_CONCURRENT_TRIALS, TRAINER
  from ludwig.globals import HYPEROPT_STATISTICS_FILE_NAME
  from ludwig.hyperopt.results import HyperoptResults
  from ludwig.hyperopt.run import hyperopt
  from ludwig.hyperopt.utils import update_hyperopt_params_with_defaults
  from ludwig.schema.model_config import ModelConfig
  from tests.integration_tests.utils import binary_feature, create_data_set_to_use, generate_data, number_feature
label_desc: Use image node_id 2 for calling a global function with example usage: _get_config(search_alg, executor) and returns: dict