class_docstr: The UNet3+ implementation based on PaddlePaddle.
  
  The original article refers to
  Huang H , Lin L , Tong R , et al. "UNet 3+: A Full-Scale Connected UNet for Medical Image Segmentation"
  (https://arxiv.org/abs/2004.08790).
  
  Args:
      in_channels (int, optional): The channel number of input image.  Default: 3.
      num_classes (int, optional): The unique number of target classes.  Default: 2.
      is_batchnorm (bool, optional): Use batchnorm after conv or not.  Default: True.
      is_deepsup (bool, optional): Use deep supervision or not.  Default: False.
      is_CGM (bool, optional): Use classification-guided module or not.
          If True, is_deepsup must be True.  Default: False.
class_docstr_tok: ["The","UNet3+","implementation","based","on","PaddlePaddle",".","The","original","article","refers","to","Huang","H",",","Lin","L",",","Tong","R",",","et","al",".","``","UNet","3+",":","A","Full-Scale","Connected","UNet","for","Medical","Image","Segmentation","''","(","https",":","\/\/arxiv.org\/abs\/2004.08790",")",".","Args",":","in_channels","(","int",",","optional",")",":","The","channel","number","of","input","image",".","Default",":","3.","num_classes","(","int",",","optional",")",":","The","unique","number","of","target","classes",".","Default",":","2.","is_batchnorm","(","bool",",","optional",")",":","Use","batchnorm","after","conv","or","not",".","Default",":","True",".","is_deepsup","(","bool",",","optional",")",":","Use","deep","supervision","or","not",".","Default",":","False",".","is_CGM","(","bool",",","optional",")",":","Use","classification-guided","module","or","not",".","If","True",",","is_deepsup","must","be","True",".","Default",":","False","."]
code: def dotProduct(self, seg, cls):
      B, N, H, W = seg.shape
      seg = seg.reshape((B, N, H * W))
      clssp = paddle.ones([1, N])
      ecls = (cls * clssp).reshape([B, N, 1])
      final = seg * ecls
      final = final.reshape((B, N, H, W))
      return final
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager
  from paddleseg.models.layers.layer_libs import SyncBatchNorm
  from paddleseg.cvlibs.param_init import kaiming_normal_init
label_desc: Use image node_id 2 for calling the UNet3Plus obj's underlying member method code with example usage: obj.dotProduct(seg, cls) and returns: final