class_docstr: Convolution + IBNorm + Relu
class_docstr_tok: ["Convolution","+","IBNorm","+","Relu"]
code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size,
      stride=1,
      padding=0,
      dilation=1,
      groups=1,
      bias_attr=None,
      with_ibn=True,
      with_relu=True,
  ):
      super().__init__()
  
      layers = [
          nn.Conv2D(
              in_channels,
              out_channels,
              kernel_size,
              stride=stride,
              padding=padding,
              dilation=dilation,
              groups=groups,
              bias_attr=bias_attr,
          )
      ]
  
      if with_ibn:
          layers.append(IBNorm(out_channels))
  
      if with_relu:
          layers.append(nn.ReLU())
  
      self.layers = nn.Sequential(*layers)
  
imports: from collections import defaultdict
  import paddle
  import paddle.nn
  import paddle.nn.functional
  import numpy
  import scipy
  import paddleseg
  from paddleseg.models import layers, losses
  from paddleseg import utils
  from paddleseg.cvlibs import manager, param_init
label_desc: Use image node_id 1 to create a new Conv2dIBNormRelu object from inherited base classes: nn with example: obj = Conv2dIBNormRelu(in_channels, out_channels, kernel_size, stride, padding, dilation, groups, bias_attr, with_ibn, with_relu)