class_docstr: The DeepSet surrogate is similar to the MLP surrogate but makes predictions
  for ensembles rather than single models.
  
  Currently, it does not support the use of dataset features.
code: def required_cpus(self) -> int:
      return 4
  
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, EnsembleConfig
  from tsbench.evaluations.tracking import EnsembleTracker
  from tsbench.surrogate.torch.deepset import DeepSetModel
  from ._base import OutputNormalization, Surrogate
  from ._factory import register_ensemble_surrogate
  from .torch import DeepSetLightningModule, ListMLELoss
  from .transformers import EnsembleConfigTransformer
label_desc: Use image node_id 2 for calling the DeepSetSurrogate obj's underlying member method code with example usage: obj.required_cpus() and returns: int