如何使用Keras加载分类问题的图像

时间:2018-11-01 09:33:11

标签: tensorflow keras deep-learning conv-neural-network loadimage

我正在使用Keras框架解决图像分类问题。这是二进制分类问题,我有2个文件夹训练集测试集,其中包含两个类的图像。我没有每个班级的单独文件夹(比如说猫和狗)。当我们为每个类都有单独的文件夹(cat文件夹和dog文件夹)时,Keras ImageDataGenerator 起作用。但是我将所有图像都放在一个单独的培训集文件夹中,并且我不知道如何进一步进行。请提出如何加载图像。

我也有2个CSV文件-train.csv和test.csv。 train.csv包含2列,即image_id和class_name。 test.csv包含image_id。请注意,image_id与images文件夹中的文件名匹配。

1 个答案:

答案 0 :(得分:0)

ImageDataGenerator的最新版本具有称为flow_from_dataframe的方法,该方法完全可以满足您的需求。

基本上,首先将CSV文件加载到熊猫DataFrame中,实例化一个ImageDataGenerator,然后使用三个重要参数调用flow_from_dataframe来使用它:

  • directory:数据所在的文件夹。
  • x_colDataFrame中的一列,其中包含directory中与您的训练/测试数据相对应的文件名。
  • y_colDataFrame中的列,对应于生成器将输出的标签。

然后,通过调用fit_generator,将此生成器与其他任何生成器一起使用。 here中提供了更多信息和示例。