class_docstr: The Autogluon surrogate uses autogluon to fit one of many possible models
  on the performances of the models.
code: def _predict(
      self, X: List[Config[ModelConfig]]
  ) -> npt.NDArray[np.float32]:
      X_numpy = self.config_transformer.transform(X)
      df = pd.DataFrame(X_numpy)
  
      predictions = []
      for predictor in self.predictors:
          out = predictor.predict(df)
          predictions.append(out)
  
      return np.stack(predictions, axis=-1)
  
file_path: gluonts/src/gluonts/nursery/tsbench/src/tsbench/surrogate/autogluon.py
imports: from typing import List, Optional
  import numpy
  import numpy.typing
  import pandas
  from autogluon.tabular import TabularPredictor
  from tsbench.config import Config, ModelConfig
  from tsbench.evaluations.tracking import ModelTracker
  from ._base import DatasetFeaturesMixin, OutputNormalization, Surrogate
  from ._factory import register_surrogate
  from .transformers import ConfigTransformer
label_desc: Use image node_id 3 for calling the AutoGluonSurrogate obj's underlying member method code with example usage: obj._predict(X) and returns: np