model = models.Sequential()
model.add(layers.Dense(100, activation = 'sigmoid', input_shape = (41, )))
model.add(BatchNormalization())
model.add(Dropout(0.1))
model.add(layers.Dense(40, activation = 'sigmoid'))
model.add(BatchNormalization())
model.add(layers.Dense(2, activation = 'softmax'))
model.summary()
best_model_weights = './base.model'
model.compile(optimizer='adam',loss=losses.categorical_crossentropy, metrics=['accuracy'])
callbacks = [EarlyStopping (monitor = 'val_accuracy' , patience = 3 , verbose = 1 , start_from_epoch = 50)]
history = model.fit(X_train_features,train_labels,validation_data=(X_test_features,test_labels),
epochs = 200, verbose = 1,callbacks=callbacks)