code: def __init__(self, drop_rate):
      super().__init__(name="cnn")
      self.drop_rate = drop_rate
  
      self.block1 = CBDP(
          filters=128,
          filter_size=[5, 3],
          filter_strides=(1, 1),
          pool_size=(4, 4),
          drop_rate=self.drop_rate,
      )
      self.block2 = CBDP(
          filters=256,
          filter_size=[5, 3],
          filter_strides=(1, 1),
          pool_size=(1, 2),
          drop_rate=self.drop_rate,
      )
      self.block3 = CBDP(
          filters=256,
          filter_size=[5, 3],
          filter_strides=(1, 1),
          pool_size=(1, 2),
          drop_rate=self.drop_rate,
      )
  
imports: import numpy
  from absl import logging
  import delta.compat
  from tensorflow.python.keras import backend
  from delta.models.base_model import Model
  from delta.layers.base_layer import Layer
  from delta import utils
  from delta.utils.register import registers
label_desc: Use image node_id 1 to create a new CNN object from inherited base classes: Layer with example: obj = CNN(drop_rate)