code: def configspace(self) -> ConfigurationSpace:
      # Build Configuration Space which defines all parameters and their ranges.
      # To illustrate different parameter types,
      # we use continuous, integer and categorical parameters.
      cs = ConfigurationSpace()
  
      # We do not have an educated belief on the number of layers beforehand
      # As such, the prior on the HP is uniform
      n_layer = UniformIntegerHyperparameter(
          "n_layer",
          lower=1,
          upper=5,
      )
  
      # We believe the optimal network is likely going to be relatively wide,
      # And place a Beta Prior skewed towards wider networks in log space
      n_neurons = BetaIntegerHyperparameter(
          "n_neurons",
          lower=8,
          upper=256,
          alpha=4,
          beta=2,
          log=True,
      )
  
      # We believe that ReLU is likely going to be the optimal activation function about
      # 60% of the time, and thus place weight on that accordingly
      activation = CategoricalHyperparameter(
          "activation",
          ["logistic", "tanh", "relu"],
          weights=[1, 1, 3],
          default_value="relu",
      )
  
      # Moreover, we believe ADAM is the most likely optimizer
      optimizer = CategoricalHyperparameter(
          "optimizer",
          ["sgd", "adam"],
          weights=[1, 2],
          default_value="adam",
      )
  
      # We do not have an educated opinion on the batch size, and thus leave it as-is
      batch_size = UniformIntegerHyperparameter(
          "batch_size",
          16,
          512,
          default_value=128,
      )
  
      # We place a log-normal prior on the learning rate, so that it is centered on 10^-3,
      # with one unit of standard deviation per multiple of 10 (in log space)
      learning_rate_init = NormalFloatHyperparameter(
          "learning_rate_init",
          lower=1e-5,
          upper=1.0,
          mu=np.log(1e-3),
          sigma=np.log(10),
          log=True,
      )
  
      # Add all hyperparameters at once:
      cs.add_hyperparameters(
          [
              n_layer,
              n_neurons,
              activation,
              optimizer,
              batch_size,
              learning_rate_init,
          ]
      )
  
      return cs
  
file_path: SMAC3/examples/1_basics/6_priors.py
imports: import warnings
  import numpy
  from ConfigSpace import BetaIntegerHyperparameter, CategoricalHyperparameter, Configuration, ConfigurationSpace, NormalFloatHyperparameter, UniformIntegerHyperparameter
  from sklearn.datasets import load_digits
  from sklearn.exceptions import ConvergenceWarning
  from sklearn.model_selection import StratifiedKFold, cross_val_score
  from sklearn.neural_network import MLPClassifier
  from smac import HyperparameterOptimizationFacade, Scenario
  from smac.acquisition.function import PriorAcquisitionFunction
label_desc: Use image node_id 1 for calling the MLP obj's underlying member method code with example usage: obj.configspace() and returns: cs