【问题标题】:Keras - flow_from_directory: How to get number of samples in each category?Keras - flow_from_directory:如何获取每个类别中的样本数量?
【发布时间】:2021-04-14 08:49:23
【问题描述】:

在使用 ImageDataGenerator 时,Keras 有没有办法获取每个类别中的图像数量?假设我有一个包含 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 模块的帮助下迭代所有文件,但想知道是否有其他方法,我找不到。

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    据我所知,没有内置的方法。

    您可以尝试使用collections 模块。

    from collections import Counter
    
    counter = Counter(imageflow.classes)
    
    print(counter.items()) # dict_items([(0, 1648), (1, 3614)])
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 2017-10-04
    • 2021-06-01
    • 1970-01-01
    • 2019-06-06
    • 2018-07-12
    • 2017-06-08
    相关资源
    最近更新 更多