class_docstr: The MLP surrogate predicts a model's performance on a new dataset using an
  MLP.
  
  The MLP converts inputs into feature vectors of the same size and uses
  either ranking or regression to predict metrics.
code: def _trainer(self) -> pl.Trainer:
      return pl.Trainer(
          max_epochs=1000,
          logger=False,
          enable_checkpointing=False,
          enable_model_summary=False,
          enable_progress_bar=False,
          gpus=int(torch.cuda.is_available()),
      )
  
imports: from typing import cast, List, Literal, Optional
  import numpy
  import numpy.typing
  import pytorch_lightning
  import torch
  from lightkit.data import DataLoader
  from torch import nn
  from torch.utils.data import TensorDataset
  from tsbench.config import Config, ModelConfig
  from tsbench.evaluations.tracking import ModelTracker
  from ._base import DatasetFeaturesMixin, OutputNormalization, Surrogate
  from ._factory import register_surrogate
  from .torch import ListMLELoss, MLPLightningModule
  from .transformers import ConfigTransformer
label_desc: Use image node_id 5 for calling the MLPSurrogate obj's underlying member method code with example usage: obj._trainer() and returns: pl