I find the documentation and tutorials on the Internet surrounding ImageDataGenerator (the data augmentation function for Keras) to not really explain much at all how it works.
Following the instructions here also leads room for a lot of interpretation: https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html
I have two questions. First, am I supposed to run model.fit_generator in addition to the normal model.fit? If so, how do I do this? When I try running model.fit_generator and then model.fit I find my validation loss increases (and accuracy decreases) when running model.fit after model.fit_generator. If I'm not supposed to use model.fit at all, wouldn't this be ignoring the non-augmented training set data?
Secondly, I don't understand the example in the above blog post where we input a validation generator for the model.fit_generator instead of using non-augmented data for the validation set. The entire point of the validation set is to see how the model predicts real world data, not how well it can predict synthetic augmentation data that is of no use. So then, what is the point of augmenting the validation set? How well the model predicts augmented data tells me nothing about how well it can predict real-world data, and I thought this augmented data would only be useful for the training set, not the validation set.