In these experiments I’m showing here I am using only one core and a single thread for loading. The batch size is 512 and the dataset is comprised of 500k images which means there are about 1k batches. Each image loaded is 224x224x3 but it is shrunk to 32x32x3 before being fed to a model. I feel that even with some overhead it doesn’t make sense that memory increases so much over the course of one epoch.