我有一个目录,数据集,其中包含图像的子文件夹(标签/类)。
以下是数据集中动物图像的子文件夹:
我想将数据集拆分为 model.fit_generotar()
的训练集和测试集。
我怎样才能做到这一点?
最佳答案
使用glob
获取文件路径迭代器。
然后,您可以使用 scikit-learn 的训练-测试分割来获取训练和测试数据路径(使用 stratify 参数在 test/中获取相同的类分布)在整个数据集中进行训练)。
结果将是两个路径列表,您可以将其写入适当的测试/训练文件夹,然后可以应用生成器的 flow_from_directory
方法。
编辑:
第二种方法是不使用 flow_from_directory
,而是加载训练/测试集(要么加载所有内容并使用 scikit-learn
方法,要么使用我所描述的方法之前),然后使用生成器的 flow
方法。
另请注意,您可能不想使用生成器来进行测试/验证数据,因为这会使比较准确性变得困难,因为您没有固定的有效/测试集。
关于tensorflow - keras model.fit_generator 的分割图像数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50563247/