Keras-flow_from_directory:如何获取每个类别中的样本数量



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)])

相关内容

  • 没有找到相关文章

最新更新