code: def __init__(
      self, steps, his_dim, hidden_dim, out_dim, dp, bias=True
  ):
      super(CellWS, self).__init__()
      self.steps = steps
      self._ops = nn.ModuleList()
      self._bns = nn.ModuleList()
      self.use2 = False
      self.dp = 0.8
      for i in range(self.steps):
          if i == 0:
              inpdim = his_dim
          else:
              inpdim = hidden_dim
          if i == self.steps - 1:
              oupdim = out_dim
          else:
              oupdim = hidden_dim
          op = MixedOp(inpdim, oupdim)
          self._ops.append(op)
          self._bns.append(nn.BatchNorm1d(oupdim))
  
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 CellWS object from inherited base classes: nn with example: obj = CellWS(steps, his_dim, hidden_dim, out_dim, dp, bias)