code: def __init__(self, inp, oup, stride=1):
      super(ResidualBlock, self).__init__()
  
      self.block = nn.Sequential(
          ConvDw(inp, oup, 3, stride=stride),
          nn.Conv2D(
              in_channels=oup,
              out_channels=oup,
              kernel_size=3,
              stride=1,
              padding=1,
              groups=oup,
              bias_attr=False,
          ),
          nn.BatchNorm2D(num_features=oup, epsilon=1e-05, momentum=0.1),
          nn.ReLU(),
          nn.Conv2D(
              in_channels=oup,
              out_channels=oup,
              kernel_size=1,
              stride=1,
              padding=0,
              bias_attr=False,
          ),
          nn.BatchNorm2D(num_features=oup, epsilon=1e-05, momentum=0.1),
      )
      if inp == oup:
          self.residual = None
      else:
          self.residual = nn.Sequential(
              nn.Conv2D(
                  in_channels=inp,
                  out_channels=oup,
                  kernel_size=1,
                  stride=1,
                  padding=0,
                  bias_attr=False,
              ),
              nn.BatchNorm2D(
                  num_features=oup, epsilon=1e-05, momentum=0.1
              ),
          )
      self.relu = nn.ReLU()
  
imports: import paddle.nn
  from paddleseg import utils
  from paddleseg.cvlibs import manager
label_desc: Use image node_id 1 to create a new ResidualBlock object from inherited base classes: nn with example: obj = ResidualBlock(inp, oup, stride)