code: def get_gp(
      n_dimensions, seed, noise=1e-3, normalize_y=True
  ) -> GaussianProcess:
      from smac.model.gaussian_process.kernels import (
          ConstantKernel,
          MaternKernel,
          WhiteKernel,
      )
  
      cov_amp = ConstantKernel(
          2.0,
          constant_value_bounds=(1e-10, 2),
          prior=LogNormalPrior(mean=0.0, sigma=1.0, seed=seed),
      )
  
      exp_kernel = MaternKernel(
          np.ones([n_dimensions]),
          [(np.exp(-10), np.exp(2)) for _ in range(n_dimensions)],
          nu=2.5,
      )
  
      noise_kernel = WhiteKernel(
          noise_level=noise,
          noise_level_bounds=(1e-10, 2),
          prior=HorseshoePrior(scale=0.1, seed=seed),
      )
  
      kernel = cov_amp * exp_kernel + noise_kernel
  
      configspace = ConfigurationSpace()
      for i in range(n_dimensions):
          configspace.add_hyperparameter(
              UniformFloatHyperparameter("x%d" % i, 0, 1)
          )
  
      rs = np.random.RandomState(seed)
  
      model = GaussianProcess(
          configspace=configspace,
          kernel=kernel,
          n_restarts=2,
          normalize_y=normalize_y,
          seed=rs.randint(low=1, high=10000),
      )
      return model
  
imports: from unittest.mock import patch
  import numpy
  import pytest
  import scipy.optimize
  import sklearn.datasets
  import sklearn.model_selection
  from ConfigSpace import CategoricalHyperparameter, ConfigurationSpace, EqualsCondition, UniformFloatHyperparameter
  from smac.model.gaussian_process.gaussian_process import GaussianProcess
  from smac.model.gaussian_process.priors import HorseshoePrior, LogNormalPrior
  from smac.utils.configspace import convert_configurations_to_array
label_desc: Use image node_id 1 for calling a global function with example usage: get_gp(n_dimensions, seed, noise, normalize_y) and returns: model