Je suis intéressé par l'utilisation de ImageDataGenerator dans Keras pour l'augmentation de données. Mais il faut que les répertoires de formation et de validation avec des sous-répertoires pour les classes soient introduits séparément comme ci-dessous (ceci est tiré de la documentation de Keras). J'ai un seul répertoire avec 2 sous-répertoires pour 2 classes (Data/Class1 et Data/Class2). Comment puis-je diviser au hasard ce dans des répertoires de formation et de validationDiviser le répertoire de données en répertoire de formation et de test avec structure de sous-répertoire préservée
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'data/train',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
validation_generator = test_datagen.flow_from_directory(
'data/validation',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
model.fit_generator(
train_generator,
steps_per_epoch=2000,
epochs=50,
validation_data=validation_generator,
validation_steps=800)
Je suis intéressé par réexécuter mon algorithme plusieurs fois avec la formation aléatoire et se divise de données de validation.
Merci pour votre réponse. Mais je n'ai pas vu validation_split comme paramètre dans fit_generator, et fit_generator est ce que je veux utiliser. C'est un paramètre dans la fonction fit. –
Ah, vous avez raison. Je pensais que c'était un paramètre dans les deux fit() et fit_generator(), mais c'est seulement pour fit(). J'ai mis à jour ma réponse. Vous devrez créer manuellement ou par programmation la structure de votre répertoire pour les ensembles valides et les ensembles de trains, puis pointer vers ces répertoires séparés avec vos ImageDataGenerators pour chacun de ces ensembles. – blackHoleDetector