code: def __init__(
      self,
      stem_out_channels: int = 16,
      num_modules_per_stack: int = 5,
      num_labels: int = 100,
  ):
      super().__init__()
      self.channels = C = stem_out_channels
      self.num_modules = N = num_modules_per_stack
      self.num_labels = num_labels
  
      self.stem = nn.Sequential(
          nn.Conv2d(3, C, kernel_size=3, padding=1, bias=False),
          nn.BatchNorm2d(C),
      )
  
      layer_channels = (
          [C] * N + [C * 2] + [C * 2] * N + [C * 4] + [C * 4] * N
      )
      layer_reductions = (
          [False] * N + [True] + [False] * N + [True] + [False] * N
      )
  
      C_prev = C
      self.cells = nn.ModuleList()
      for C_curr, reduction in zip(layer_channels, layer_reductions):
          if reduction:
              cell = ResNetBasicblock(C_prev, C_curr, 2)
          else:
              cell = NasBench201Cell(
                  {
                      prim: lambda C_in, C_out: OPS_WITH_STRIDE[prim](
                          C_in, C_out, 1
                      )
                      for prim in PRIMITIVES
                  },
                  C_prev,
                  C_curr,
                  label="cell",
              )
          self.cells.append(cell)
          C_prev = C_curr
  
      self.lastact = nn.Sequential(
          nn.BatchNorm2d(C_prev), nn.ReLU(inplace=True)
      )
      self.global_pooling = nn.AdaptiveAvgPool2d(1)
      self.classifier = nn.Linear(C_prev, self.num_labels)
  
imports: import click
  import nni
  import nni.retiarii.evaluator.pytorch.lightning
  import torch.nn
  import torchmetrics
  from nni.retiarii import model_wrapper, serialize
  from nni.retiarii.experiment.pytorch import RetiariiExperiment, RetiariiExeConfig
  from nni.retiarii.nn.pytorch import NasBench201Cell
  from nni.retiarii.strategy import Random
  from pytorch_lightning.callbacks import LearningRateMonitor
  from timm.optim import RMSpropTF
  from torch.optim.lr_scheduler import CosineAnnealingLR
  from torchvision import transforms
  from torchvision.datasets import CIFAR100
  from base_ops import ResNetBasicblock, PRIMITIVES, OPS_WITH_STRIDE
label_desc: Use image node_id 1 to create a new NasBench201 object from inherited base classes: nn with example: obj = NasBench201(stem_out_channels, num_modules_per_stack, num_labels)