Data Augmentation and Precomputing Conv Layers

I keep trying to understand this, but end up getting turned around through a video or something I see in the code that suggests otherwise. I will try to go through it step by step and hopefully someone can help me out and point out where I am wrong.

  1. You set up a generator in keras that performs some sort of random alteration to each sample as it is processed. It has a similar effect to getting more data.

  2. You fit_generator on that with a model that is only convolutional layers. This is done for training, validation, and test batches, which are formed using the generator above (for training) and a generator that does nothing for validation and testing. You save this output for use later.

  3. Now you take those outputs and use it as an input for some dense layers that you experiment with. There is no data augmentation here because you’ve already computed the layers. The alterations/whatever that you put into the earlier convolutional layers are what you get.

Is the above correct? I keep getting confused about what exactly is possible with data augmentation and pre-computing layers.

First I thought that you needed to compute everything at once if you are using data augmentation, but now I am not so sure. I am looking at lesson 4 seeing that Jeremy pre computes convolutional layers while using data augmentation.

Can someone please explain to me exactly what I can and can not do if I want to make the most out of data augmentation? Sorry if there is an obvious answer, but I looked through the similar topics that are listed and still don’t feel clear.

Currently, I am not pre-computing anything if I am using data augmentation.