code: def __init__(
      self,
      in_channels,
      out_channels,
      n_cat,
      use_deconv=False,
      align_corners=False,
  ):
      super(UpSampling, self).__init__()
      if use_deconv:
          self.up = nn.Conv2DTranspose(
              in_channels,
              out_channels,
              kernel_size=2,
              stride=2,
              padding=0,
          )
      else:
          self.up = nn.Sequential(
              nn.Upsample(
                  scale_factor=2,
                  mode="bilinear",
                  align_corners=align_corners,
              ),
              nn.Conv2D(in_channels, out_channels, 1, 1, 0),
          )
  
      self.conv = DoubleConv(n_cat * out_channels, out_channels)
  
file_path: PaddleSeg/paddleseg/models/unet_plusplus.py
imports: import paddle
  import paddle.nn
  from paddleseg.cvlibs import manager
  from paddleseg.utils import load_entire_model
  from paddleseg.cvlibs.param_init import kaiming_normal_init
  from paddleseg.models.layers.layer_libs import SyncBatchNorm
label_desc: Use image node_id 1 to create a new UpSampling object from inherited base classes: nn with example: obj = UpSampling(in_channels, out_channels, n_cat, use_deconv, align_corners)