Keras中有没有一种方法可以在使用ImageDataGenerator时获得每个类别中的图像数?假设我有一个包含3个子文件夹(类(的train文件夹,每个子文件夹都包含一些图像。
imagedatagen = ImageDataGenerator(...)
imageflow = imagedatagen.flow_from_directory(
source_dir,
class_mode='categorical', ...)
我可以通过以下命令获得类映射或所有样本的数量:
class_dict = imageflow.class_indices # returns ie. {'aligator': 0, 'cat': 1, 'dog': 2}
sample_count = imageflow.samples # returns sum of all samples, not divided into categories
但是我该如何获取信息,类别0包含1000张图片,类别1包含1500张图片,而类别2包含所有其他图片?我知道我可以在os
模块的帮助下迭代所有文件,但我想知道是否有其他方法,但我找不到它。
据我所知,没有内置的方法。
您可以尝试使用collections
模块。
from collections import Counter
counter = Counter(imageflow.classes)
print(counter.items()) # dict_items([(0, 1648), (1, 3614)])