code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size=4,
      stride=2,
      padding=1,
      norm_layer=nn.BatchNorm2d,
      activation=nn.ELU,
      bias=True,
  ):
      super(ConvBlock, self).__init__()
      self.block = nn.Sequential(
          nn.Conv2d(
              in_channels,
              out_channels,
              kernel_size=kernel_size,
              stride=stride,
              padding=padding,
              bias=bias,
          ),
          norm_layer(out_channels)
          if norm_layer is not None
          else nn.Identity(),
          activation(),
      )
  
imports: import math
  import torch
  import numbers
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new ConvBlock object from inherited base classes: nn with example: obj = ConvBlock(in_channels, out_channels, kernel_size, stride, padding, norm_layer, activation, bias)