code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      kernel_size: int = 3,
      stride: int = 1,
      groups: int = 1,
      activation: Optional[str] = "relu",
      **kwargs,
  ):
      super().__init__(**kwargs)
      # The padding and conv has been verified in
      # https://colab.research.google.com/gist/sayakpaul/854bc10eeaf21c9ee2119e0b9f3841a7/scratchpad.ipynb
      self.padding = tf.keras.layers.ZeroPadding2D(
          padding=kernel_size // 2
      )
      self.convolution = tf.keras.layers.Conv2D(
          filters=out_channels,
          kernel_size=kernel_size,
          strides=stride,
          padding="VALID",
          groups=groups,
          use_bias=False,
          name="convolution",
      )
      self.normalization = tf.keras.layers.BatchNormalization(
          epsilon=1e-5, momentum=0.9, name="normalization"
      )
      self.activation = (
          ACT2FN[activation] if activation is not None else tf.identity
      )
      self.in_channels = in_channels
      self.out_channels = out_channels
  
imports: from typing import Optional, Tuple, Union
  import tensorflow
  from ...activations_tf import ACT2FN
  from ...file_utils import add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward
  from ...modeling_tf_outputs import TFBaseModelOutputWithNoAttention, TFBaseModelOutputWithPoolingAndNoAttention, TFSequenceClassifierOutput
  from ...modeling_tf_utils import TFPreTrainedModel, TFSequenceClassificationLoss, keras_serializable, unpack_inputs
  from ...tf_utils import shape_list
  from ...utils import logging
  from .configuration_regnet import RegNetConfig
label_desc: Use image node_id 1 to create a new TFRegNetConvLayer object from inherited base classes: tf.keras.layers with example: obj = TFRegNetConvLayer(in_channels, out_channels, kernel_size, stride, groups, activation)