class_docstr: Basic Conv2D + activation + instance norm building block.
code: def __init__(
      self,
      in_channels,
      out_channels,
      ksz=(3, 3),
      stride=(1, 2),
      padding=(1, 0),
      upsample=False,
      activation=torch.nn.ELU,
  ):
      super(Conv2DActNorm, self).__init__()
  
      if upsample:
          conv = torch.nn.ConvTranspose2d(
              in_channels, out_channels, ksz, stride, padding
          )
      else:
          conv = torch.nn.Conv2d(
              in_channels,
              out_channels,
              ksz,
              stride,
              padding,
              padding_mode="reflect",
          )
      act = get_layer(activation)()
      norm = torch.nn.GroupNorm(out_channels, out_channels, eps=1e-8)
      self.layer = torch.nn.Sequential(conv, act, norm)
  
imports: import torch
  from packaging.version import parse
  from torch_complex.tensor import ComplexTensor
  from espnet2.torch_utils.get_layer_from_string import get_layer
label_desc: Use image node_id 1 to create a new Conv2DActNorm object from inherited base classes: torch.nn with example: obj = Conv2DActNorm(in_channels, out_channels, ksz, stride, padding, upsample, activation)