code: def forward(self, inputs):
      x = self._conv_1(inputs)
      x = F.relu(x)
      if self.groups == 2 or self.groups == 3 or self.groups == 4:
          x = self._conv_2(x)
          x = F.relu(x)
      if self.groups == 3 or self.groups == 4:
          x = self._conv_3(x)
          x = F.relu(x)
      if self.groups == 4:
          x = self._conv_4(x)
          x = F.relu(x)
      skip = x
      x, max_indices = self._pool(x)
      return x, max_indices, skip
  
imports: import paddle
  from paddle import ParamAttr
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn import Conv2D, BatchNorm, Linear, Dropout
  from paddle.nn import AdaptiveAvgPool2D, MaxPool2D, AvgPool2D
  from paddleseg.cvlibs import manager
  import ppmatting
label_desc: Use image node_id 2 for calling the ConvBlock obj's underlying member method code with example usage: obj.forward(inputs) and returns: x,  max_indices,  skip