class_docstr: A CNN block is assumed to have input channels, output channels and a stride.
  The input and output of `forward()` method must be NCHW tensors.
  The method can perform arbitrary computation but must match the given
  channels and stride specification.
  
  Attribute:
      in_channels (int):
      out_channels (int):
      stride (int):
docstr: The `__init__` method of any subclass should also contain these arguments.
  
  Args:
      in_channels (int):
      out_channels (int):
      stride (int):
code: def __init__(self, in_channels, out_channels, stride):
      """
      The `__init__` method of any subclass should also contain these arguments.
  
      Args:
          in_channels (int):
          out_channels (int):
          stride (int):
      """
      super().__init__()
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.stride = stride
  
file_path: detectron2/detectron2/layers/blocks.py
imports: import fvcore.nn.weight_init
  from torch import nn
  from .batch_norm import FrozenBatchNorm2d, get_norm
  from .wrappers import Conv2d
label_desc: Use image node_id 1 to create a new CNNBlockBase object from inherited base classes: nn with example: obj = CNNBlockBase(in_channels, out_channels, stride)