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