【问题标题】:Is Dataset Organization for Image Classification Necessary?图像分类的数据集组织是否必要?
【发布时间】:2019-01-11 17:48:14
【问题描述】:
我目前正在开发一个可以通过机器学习进行二值图像分类的程序。我有一个标签列表和一个图像列表,我将它们用作输入,然后将它们输入到 Inception V3 模型中。
以这种方式输入数据集是否适用于 inception V3 架构?在将图像输入模型之前,是否需要使用带标签的文件夹来组织图像?
感谢您的帮助!
【问题讨论】:
标签:
python
tensorflow
machine-learning
keras
classification
【解决方案1】:
在您的示例中,所有图像都在内存中。您只需致电model.fit(trainX, trainY) 即可训练您的模型。无需在特定文件夹结构中组织图像。
你指的是ImageDataGenerator的flow_from_directory()方法。这是一个对象,它将从目录中产生图像,并自动从文件夹结构中推断出标签。在这种情况下,您的图像应排列在每个标签的一个文件夹中。由于ImageDataGenerator 是一个生成器,您应该将它与model.fit_generator() 结合使用。
作为第三种选择,您可以编写自己的自定义生成器来生成图像和标签。如果您的标签结构比每个图像一个标签更复杂,建议您这样做;例如在多标签分类、对象检测或语义分割中,输出也是图像。 model.fit_generator() 也应该使用自定义生成器。