如果我不打乱我的文件,我可以使用 generator.filenames
获取文件名。但是当生成器打乱图像时,文件名没有打乱,所以我不知道如何取回文件名。
请您参考如下方法:
在内部,DirectoryIterator
将迭代一个 index_arrray
,当您要求它时,它会被打乱。
您只需要使用批处理的当前索引来索引文件名数组:
it = ImageDataGenerator().flow_from_directory(shuffle=True,...)
for img in it:
idx = (it.batch_index - 1) * it.batch_size
fnames = [it.filenames[it.index_array[i]] for i in range(idx, idx + it.batch_size)]