code: def __init__(
      self,
      input_channels,
      output_channels,
      stride,
      filter,
      dilation=1,
      act=None,
      name=None,
  ):
      super(Separate_Conv, self).__init__()
  
      self._conv1 = nn.Conv2D(
          in_channels=input_channels,
          out_channels=input_channels,
          kernel_size=filter,
          stride=stride,
          groups=input_channels,
          padding=(filter) // 2 * dilation,
          dilation=dilation,
          bias_attr=False,
      )
      self._bn1 = layers.SyncBatchNorm(
          input_channels, epsilon=1e-3, momentum=0.99
      )
  
      self._act_op1 = layers.Activation(act=act)
  
      self._conv2 = nn.Conv2D(
          input_channels,
          output_channels,
          1,
          stride=1,
          groups=1,
          padding=0,
          bias_attr=False,
      )
      self._bn2 = layers.SyncBatchNorm(
          output_channels, epsilon=1e-3, momentum=0.99
      )
  
      self._act_op2 = layers.Activation(act=act)
  
imports: import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager
  from paddleseg.utils import utils
  from paddleseg.models import layers
label_desc: Use image node_id 1 to create a new Separate_Conv object from inherited base classes: nn with example: obj = Separate_Conv(input_channels, output_channels, stride, filter, dilation, act, name)