code: def __init__(self, C_in, C_out, stride, mode):
      super(Pooling, self).__init__()
      if C_in == C_out:
          self.preprocess = None
      else:
          self.preprocess = ReLUConvBN(C_in, C_out, 1, 1, 0, 1)
      if mode == "avg":
          self.op = nn.AvgPool2d(
              3, stride=stride, padding=1, count_include_pad=False
          )
      elif mode == "max":
          self.op = nn.MaxPool2d(3, stride=stride, padding=1)
      else:
          raise ValueError("Invalid mode={:} in Pooling".format(mode))
  
imports: from typing import Callable, Dict
  import torch
  import torch.nn
  from nni.nas.nn.pytorch import ModelSpace
  from .modules.nasbench201 import NasBench201Cell
label_desc: Use image node_id 1 to create a new Pooling object from inherited base classes: nn with example: obj = Pooling(C_in, C_out, stride, mode)