无法加载自定义数据集

时间:2019-02-26 09:46:29

标签: python numpy keras deep-learning dataset

我想在keras中训练CNN分类器,但是我要定制数据集。我已经创建了CNN模型,但是对于如何将数据集输入到训练集,有效集和测试集中,我完全感到困惑。我是深度学习的新手。我有7种类型的类,即['A','C','F','L','N','R','V'],但是这些类包含在图像名称中。我的图像名称将为MLII_C_1.jpeg or V1_C_1.jpeg。图像名称中的中间字母为我提供了它所属的类。如何加载图像?并按目标标签制作。拜托,有人帮帮我。 My dataset folder

1 个答案:

答案 0 :(得分:1)

我相信ImageDataGenerator()是最简单的方法之一, 假设您具有按以下层次结构分为训练,验证和测试的数据(图像):

train-| class1
      | class2 
      . 
      .
      | classN 


valid-| class1
      | class2 
      . 
      .
      | classN 


test- | class1
      | class2 
      . 
      .
      | classN 

然后在python中通过指定以下路径开始:

from keras.preprocessing.image import ImageDataGenerator

train_path = "Path"
valid_path = "Path"
test_path =  "Path"

然后只需使用此:

trainBatches = ImageDataGenerator().flow_from_directory(train_path, target_size=(224,224), classes=['class1', 'class2', .. , 'classn'], batch_size=64)
valBatches = ImageDataGenerator().flow_from_directory(valid_path, target_size=(224,224), classes=['class1', 'class2', .. , 'classn'], batch_size=32)
testBatches = ImageDataGenerator().flow_from_directory(test_path, target_size=(224,224), classes=['class1', 'class2', .. , 'classn'], batch_size=32)