class_docstr: Convolution + IBNorm + Relu
class_docstr_tok: ["Convolution","+","IBNorm","+","Relu"]
code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      kernel_size: int,
      stride: int = 1,
      padding: int = 0,
      dilation: int = 1,
      groups: int = 1,
      bias_attr: paddle.ParamAttr = None,
      with_ibn: bool = True,
      with_relu: bool = 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: import os
  import time
  import argparse
  from typing import Callable, Union, List, Tuple
  import numpy
  import cv2
  import scipy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddlehub.module.module import moduleinfo
  import paddlehub.vision.segmentation_transforms
  from paddlehub.module.module import moduleinfo, runnable, serving
  from modnet_hrnet18_matting.hrnet import HRNet_W18
  import modnet_hrnet18_matting.processor
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)