input: from typing import List
  
  def create_convnet_model(image_size: List[int], class_mode: str) -> Sequential:
      """ Create a convolutional neural network model for distinguishing between cats and dogs.
      The input is an image dataset, and the model uses several convolutional and max pooling layers
      followed by a dense layer and a sigmoid activation function for binary classification.
      >>> model = create_convnet_model([64, 64], 'binary')
      >>> model.summary()
      """
output:     model = Sequential()
      model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(image_size[0], image_size[1], 3)))
      model.add(MaxPooling2D(pool_size=(2, 2)))
      model.add(Conv2D(64, (3, 3), activation='relu'))
      model.add(MaxPooling2D(pool_size=(2, 2)))
      model.add(Conv2D(128, (3, 3), activation='relu'))
      model.add(MaxPooling2D(pool_size=(2, 2)))
      model.add(Flatten())
      model.add(Dense(128, activation='relu'))
      model.add(Dense(1, activation='sigmoid'))
      return model