input: def distinguish_between_cats_and_dogs() -> keras.models.Sequential:
      """Collate a machine learning model in Python that distinguishes between cats and dogs.
      The model is built using Keras with a convolutional neural network architecture.
      >>> model = distinguish_between_cats_and_dogs()
      >>> model.summary()
      """
output:     
      model = keras.models.Sequential([
          keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(150, 150, 3)),
          keras.layers.MaxPooling2D(2, 2),
          keras.layers.Conv2D(64, (3, 3), activation='relu'),
          keras.layers.MaxPooling2D(2, 2),
          keras.layers.Conv2D(128, (3, 3), activation='relu'),
          keras.layers.MaxPooling2D(2, 2),
          keras.layers.Conv2D(128, (3, 3), activation='relu'),
          keras.layers.MaxPooling2D(2, 2),
          keras.layers.Flatten(),
          keras.layers.Dense(512, activation='relu'),
          keras.layers.Dense(1, activation='sigmoid')
      ])
      model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
      return model
  