code: def train(
      self, config: Configuration, seed: int = 0, budget: int = 10
  ) -> dict[str, float]:
      lr = config.get("learning_rate", "constant")
      lr_init = config.get("learning_rate_init", 0.001)
      batch_size = config.get("batch_size", 200)
  
      start_time = time.time()
  
      with warnings.catch_warnings():
          warnings.filterwarnings("ignore")
  
          classifier = MLPClassifier(
              hidden_layer_sizes=[config["n_neurons"]]
              * config["n_layer"],
              solver=config["solver"],
              batch_size=batch_size,
              activation=config["activation"],
              learning_rate=lr,
              learning_rate_init=lr_init,
              max_iter=int(np.ceil(budget)),
              random_state=seed,
          )
  
          # Returns the 5-fold cross validation accuracy
          cv = StratifiedKFold(
              n_splits=5, random_state=seed, shuffle=True
          )  # to make CV splits consistent
          score = cross_val_score(
              classifier,
              digits.data,
              digits.target,
              cv=cv,
              error_score="raise",
          )
  
      return {
          "1 - accuracy": 1 - np.mean(score),
          "time": time.time() - start_time,
      }
  
file_path: SMAC3/examples/3_multi_objective/2_parego.py
imports: from __future__ import annotations
  import time
  import warnings
  import matplotlib.pyplot
  import numpy
  from ConfigSpace import Categorical, Configuration, ConfigurationSpace, EqualsCondition, Float, InCondition, Integer
  from sklearn.datasets import load_digits
  from sklearn.model_selection import StratifiedKFold, cross_val_score
  from sklearn.neural_network import MLPClassifier
  from smac import HyperparameterOptimizationFacade
  from smac import Scenario
  from smac.facade.abstract_facade import AbstractFacade
  from smac.multi_objective.parego import ParEGO
label_desc: Use image node_id 2 for calling the MLP obj's underlying member method code with example usage: obj.train(config, seed, budget) and returns: dict