code: def __init__(
      self,
      block,
      blocks_num,
      num_classes=1000,
      include_top=True,
      **kwargs,
  ):
      super(ResNet, self).__init__(**kwargs)
      self.include_top = include_top
      self.conv1 = layers.Conv2D(
          filters=64,
          kernel_size=7,
          strides=2,
          padding="SAME",
          use_bias=False,
          name="conv1",
      )
      self.bn1 = layers.BatchNormalization(
          momentum=0.9, epsilon=1.001e-5, name="conv1/BatchNorm"
      )
      self.relu1 = layers.ReLU(name="relu1")
      self.maxpool1 = layers.MaxPool2D(
          pool_size=3, strides=2, padding="SAME", name="maxpool1"
      )
  
      self.block1 = self._make_layer(
          block, True, 64, blocks_num[0], name="block1"
      )
      self.block2 = self._make_layer(
          block, False, 128, blocks_num[1], strides=2, name="block2"
      )
      self.block3 = self._make_layer(
          block, False, 256, blocks_num[2], strides=2, name="block3"
      )
      self.block4 = self._make_layer(
          block, False, 512, blocks_num[3], strides=2, name="block4"
      )
  
      if self.include_top:
          self.avgpool = layers.GlobalAvgPool2D(name="avgpool1")
          self.fc = layers.Dense(num_classes, name="logits")
          self.softmax = layers.Softmax()
  
file_path: deep-learning-for-image-processing/tensorflow_classification/Test5_resnet/subclassed_model.py
imports: from tensorflow.keras import layers, Model, Sequential
label_desc: Use image node_id 1 to create a new ResNet object from inherited base classes: Model with example: obj = ResNet(block, blocks_num, num_classes, include_top)