title: Keras: early stopping model saving
body: <p>For now I'm using early stopping in Keras like this:</p>
  
  <pre><code>X,y= load_data('train_data')
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=12)
  
  datagen = ImageDataGenerator(
      horizontal_flip=True,
      vertical_flip=True)
  
  early_stopping_callback = EarlyStopping(monitor='val_loss', patience=epochs_to_wait_for_improve)
  history = model.fit_generator(datagen.flow(X_train, y_train, batch_size=batch_size),
              steps_per_epoch=len(X_train) / batch_size, validation_data=(X_test, y_test),
              epochs=n_epochs, callbacks=[early_stopping_callback])
  </code></pre>
  
  <p>But at the end of <code>model.fit_generator</code> it will save model after <code>epochs_to_wait_for_improve</code>, but I want to save model with min <code>val_loss</code> does it make sense and is it possible?</p>