text: #Initialising the Input shape
  input_shape = (64,64,3)
  
  
  # Initialising the CNN
  model = Sequential()
  model.add(ZeroPadding2D((1,1), input_shape=input_shape))
  model.add(Convolution2D(filters=64, kernel_size=(3,3), activation='relu', kernel_initializer='he_normal'))
  
  #CNN Layer 2
  model.add(ZeroPadding2D((1,1)))
  model.add(Convolution2D(filters=64, kernel_size=(3,3), activation='relu', kernel_initializer='he_normal'))
  model.add(MaxPooling2D((2,2), strides=(2,2)))
  model.add(Dropout(0.4))
  
  #Flatten the output before feeding these to the fully connected Neurons                                    
  model.add(Flatten())
  
  #Fully connected Layers
  model.add(Dense(256, activation='relu', kernel_initializer='he_normal'))
  model.add(BatchNormalization())
  model.add(Dropout(0.5))
  
  model.add(Dense(128, activation='relu', kernel_initializer='he_normal'))
  model.add(BatchNormalization())
  model.add(Dropout(0.5))
  model.add(Dense(3, activation='softmax', kernel_initializer='he_normal'))
  
  
  #Compile the model
  
  adam=keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)
  model.compile(loss='categorical_crossentropy',optimizer=adam, metrics=['accuracy'])
  model.summary()
  