Instantiate the ImageDataGenerator class

why are we using “rotation_range”, “width_shift_range”, etc… with large datasets?
I thought they are useful for small datasets only (since small datasets get overwritten so fast)

What do you mean by since small datasets get overwritten so fast ?

i mean fitting a small dataset will get overfitted at low epoch, but large datasets needs much more before starting to overfitting.so we use the rotation and these things on small datasets

i meant overfitting not overwritten

Augmentation aims to increase the variability in data. This gives NN the opportunity to look at images from different perspectives and generalize better.

I think without them, large datasets (about 47.5m imgs) would be better

wont adding them effect on the acc badly?

when we use them (“rotation_range”, “width_shift_range”, etc…) we start with low acc, then after lots of training we get higher acc. but that happens with small datasets because we dont have much data to test.

If the validation set consists of images that are skewed you had images in your training set which was perfectly normal, then, this could affect validation set performance.

We want the training and validation sets to come from similar distribution. Augmentation is one way to extend the training data distribution.

what about large datasets we already have so much data to train and test from.
wont editing the images effect on the acc?

If the training data covers the distribution of validation data and inputs in real world, you don’t need augmentation.

the images we get from transfer learning are not prefect ?, so we better use them “augmentation”? . even if we have about 47.5m images?

Transfer learning involves borrowing an external model. It is usually trained on a much larger dataset which makes it good at extracting features for that problem domain. You should tune the model if required for getting the weights to better adapt to the your dataset.