class_docstr: The box wrapping a space, can be passed to later procedure or trainer
  
  Parameters
  ----------
  space_model : BaseSpace
      The space which should be wrapped
  device : str or torch.device
      The device to place the model
code: def __init__(self, space_model, device):
      super().__init__(None, None, device)
      self.init = True
      self.space = []
      self.hyperparams = {}
      self._model = space_model
      self.num_features = self._model.input_dim
      self.num_classes = self._model.output_dim
      self.params = {
          "num_class": self.num_classes,
          "features_num": self.num_features,
      }
      self.selection = None
  
imports: from abc import abstractmethod
  import torch.nn
  from nni.nas.pytorch import mutables
  from nni.nas.pytorch.fixed import FixedArchitecture
  import json
  from copy import deepcopy
  import torch
  from ...model import BaseAutoModel
  from ....utils import get_logger
  from ..utils import get_hardware_aware_metric
label_desc: Use image node_id 1 to create a new BoxModel object from inherited base classes: BaseAutoModel with example: obj = BoxModel(space_model, device)