code: def __init__(self, in_channels, out_channels, stride=1):
      super(ConvResidual, self).__init__()
  
      self.block = nn.Sequential(
          ConvBnRelu2d(
              in_channels,
              out_channels,
              kernel_size=3,
              padding=1,
              stride=1,
          ),
          ConvBnRelu2d(
              out_channels,
              out_channels,
              kernel_size=3,
              padding=1,
              stride=1,
              is_relu=False,
          ),
      )
      self.shortcut = None
      if in_channels != out_channels or stride != 1:
          self.shortcut = nn.Conv2d(
              in_channels,
              out_channels,
              kernel_size=1,
              padding=0,
              stride=stride,
              bias=True,
          )
  
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new ConvResidual object from inherited base classes: nn with example: obj = ConvResidual(in_channels, out_channels, stride)