code: def __init__(
      self, in_size, out_size, norm, is_deconv=True, act=nn.ReLU
  ):
      super(UnetUpConv2D, self).__init__()
  
      self.conv = UnetConv2D(in_size, out_size, norm, act=act)
      if is_deconv:
          self.up = nn.ConvTranspose2d(
              in_size, out_size, kernel_size=4, stride=2, padding=1
          )
      else:
          self.up = nn.UpsamplingBilinear2d(scale_factor=2)
  
      # initialise the blocks
      for m in self.children():
          if m.__class__.__name__.find("UnetConv2D") != -1:
              continue
          m.apply(weights_init_kaiming)
  
file_path: pywick/pywick/models/segmentation/testnets/exfuse/unet_layer.py
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new UnetUpConv2D object from inherited base classes: nn with example: obj = UnetUpConv2D(in_size, out_size, norm, is_deconv, act)