code: def __init__(
      self,
      in_ch=None,
      out_ch=None,
      with_conv=False,
      fir=False,
      fir_kernel=(1, 3, 3, 1),
  ):
      super().__init__()
      out_ch = out_ch if out_ch else in_ch
      if not fir:
          if with_conv:
              self.Conv_0 = conv3x3(in_ch, out_ch)
      else:
          if with_conv:
              self.Conv2d_0 = up_or_down_sampling.Conv2d(
                  in_ch,
                  out_ch,
                  kernel=3,
                  up=True,
                  resample_kernel=fir_kernel,
                  use_bias=True,
                  kernel_init=default_init(),
              )
      self.fir = fir
      self.with_conv = with_conv
      self.fir_kernel = fir_kernel
      self.out_ch = out_ch
  
imports: import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from espnet2.enh.layers.ncsnpp_utils import layers, up_or_down_sampling
label_desc: Use image node_id 1 to create a new Upsample object from inherited base classes: nn with example: obj = Upsample(in_ch, out_ch, with_conv, fir, fir_kernel)