I was reading about different techniques to load large data efficiently. The tf.data seems to perform well as compared to tf.keras.preprocessing.imageImageDataGenerator.
To what I know is, tf.data uses CPU pipelining to efficiently load the data and process it so that model training is continuous and fast. But I did not understand how these two techniques are different and in what way. If anybody can explain this I would highly appreciate it.