【问题标题】:Split Image dataset for keras model.fit_generatorkeras model.fit_generator 的拆分图像数据集
【发布时间】:2018-07-21 13:35:00
【问题描述】:

我有一个目录,即数据集,其中包含图像的子文件夹(标签/类)。
以下是数据集中动物图像的子文件夹:

我想将数据集拆分为model.fit_generotar() 的训练集和测试集。

我该怎么做?

【问题讨论】:

    标签: tensorflow deep-learning keras


    【解决方案1】:

    使用glob 获取文件路径迭代器。

    然后您可以使用scikit-learn 的训练-测试拆分来获取训练和测试数据路径(使用stratify 参数在测试/训练中获得与整个数据集中相同的类分布)。

    结果将是两个路径列表,您可以将它们写入适当的测试/训练文件夹,然后您可以应用生成器的flow_from_directory 方法。

    编辑:

    第二种方法是不使用flow_from_directory,而是加载训练/测试集(加载所有内容并使用scikit-learn 方法或使用我之前描述的方法),然后使用生成器的flow 方法。

    另请注意,您可能不希望使用生成器来生成测试/验证数据,因为这会使比较准确性变得困难,因为您没有固定的有效/测试集。

    【讨论】:

    • 如果只有一个图像子文件夹,您所说的将是正确的。在我的例子中,有 5 个图像子文件夹,即狮子、兔子、蛇、狗和猫。
    • 没有。 Generator 使用这些文件夹来分配类。顺便说一句,我还添加了您可以使用的第二种方法。
    猜你喜欢
    • 2021-05-24
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多