Yes is it possible, at least with version 2.0.4 (don’t know about earlier version).
The instance of ImageDataGenerator().flow_from_directory(...)
has an attribute with filenames
which is a list of all the files in the order the generator yields them and also an attribute batch_index
. So you can do it like this:
datagen = ImageDataGenerator()
gen = datagen.flow_from_directory(...)
And every iteration on generator you can get the corresponding filenames like this:
for i in gen:
idx = (gen.batch_index - 1) * gen.batch_size
print(gen.filenames[idx : idx + gen.batch_size])
This will give you the filenames of the images in the current batch.