code: def __init__(
      self,
      hidden_dim: _typ.Optional[int] = 64,
      layer_number: _typ.Optional[int] = 2,
      dropout: _typ.Optional[float] = 0.8,
      input_dim: _typ.Optional[int] = None,
      output_dim: _typ.Optional[int] = None,
      ops: _typ.Tuple = gnn_list,
  ):
      super().__init__()
      self.input_dim = input_dim
      self.output_dim = output_dim
      self.hidden_dim = hidden_dim
      self.steps = layer_number
      self.dropout = dropout
      self.ops = ops
      self.use_forward = True
      self.dead_tensor = torch.nn.Parameter(
          torch.FloatTensor([1]), requires_grad=True
      )
  
imports: import typing
  from .None import register_nas_space
  from .base import apply_fixed_architecture
  from .base import BaseSpace
  from ...model import BaseAutoModel
  from ....utils import get_logger
  from ..backend import *
  from ..utils import count_parameters, measure_latency
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.nn import Module
  from .gasso_space import *
  from torch.autograd import Variable
  from collections import namedtuple
label_desc: Use image node_id 1 to create a new GassoSpace object from inherited base classes: BaseSpace with example: obj = GassoSpace(hidden_dim, layer_number, dropout, input_dim, output_dim, ops)