code: def _get_config():
      return {
          "input_features": [
              {"name": "Date received", "type": "category"}
          ],
          "output_features": [{"name": "Product", "type": "category"}],
          "hyperopt": {
              "goal": "minimize",
              "metric": "loss",
              "executor": {
                  "type": "ray",
                  "scheduler": {
                      "type": "async_hyperband",
                      "max_t": 3600,
                      "time_attr": "time_total_s",
                      "grace_period": 72,
                      "reduction_factor": 5,
                  },
                  "num_samples": 10,
                  "time_budget_s": 3600,
                  "cpu_resources_per_trial": 1,
              },
              "parameters": {
                  "trainer.learning_rate": {
                      "space": "choice",
                      "categories": [0.005, 0.01, 0.02, 0.025],
                  }
              },
              "search_alg": {
                  "type": "hyperopt",
                  "random_state_seed": 42,
              },
              "output_feature": "Product",
          },
      }
  
file_path: ludwig/tests/ludwig/hyperopt/test_hyperopt.py
imports: import pytest
  from ludwig.constants import INPUT_FEATURES, NAME, OUTPUT_FEATURES, TYPE
  from ludwig.hyperopt.utils import log_warning_if_all_grid_type_parameters, substitute_parameters
  from ludwig.schema.model_config import ModelConfig
label_desc: Use image node_id 1 for calling a global function with example usage: _get_config() and returns: dict