code: def __init__(
      self,
      in_planes: int,
      out_planes: int,
      kernel_size: int = 3,
      stride: int = 1,
      groups: int = 1,
      norm_layer: Optional[Callable[..., nn.Module]] = None,
      activation_layer: Optional[Callable[..., nn.Module]] = None,
  ):
      padding = (kernel_size - 1) // 2
      if norm_layer is None:
          norm_layer = nn.BatchNorm2d
      if activation_layer is None:
          activation_layer = nn.ReLU6
      super(ConvBNActivation, self).__init__(
          nn.Conv2d(
              in_channels=in_planes,
              out_channels=out_planes,
              kernel_size=kernel_size,
              stride=stride,
              padding=padding,
              groups=groups,
              bias=False,
          ),
          norm_layer(out_planes),
          activation_layer(inplace=True),
      )
  
imports: from typing import Callable, List, Optional
  import torch
  from torch import nn, Tensor
  from torch.nn import functional
  from functools import partial
label_desc: Use image node_id 1 to create a new ConvBNActivation object from inherited base classes: nn with example: obj = ConvBNActivation(in_planes, out_planes, kernel_size, stride, groups, norm_layer, activation_layer)