2017-10-18 12 views
0

Les données d'apprentissage sont lues à partir de deux fichiers .npy. Say, train_set est considéré comme X, et train_label est considéré comme Y. Par conséquent, ce n'est pas un cas d'entrée multiple. Ma tâche nécessite d'augmenter les patchs d'image de manière différente. Alors, comment définir différents Image Generator pour différents patchs? Bien qu'il puisse y avoir beaucoup de patches, j'utilise 3 patches comme exemple:comment appliquer différents générateur d'images pour différents lots dans Keras?

pour patch1:

DataGen = ImageDataGenerator (rotation_range = 20)

pour patch2:

DataGen = ImageDataGenerator (rotation_range = 40)

pour patch3:

DataGen = ImageDataGenerator (rotation_range = 60)

Comment appliquer différents générateurs sur différents patchs, et comment puis-je utiliser model.fit (...) ou model.fit_generator (...) pour le scénario décrit?

De même, existe-t-il un moyen de faire pivoter l'image d'un degré particulier au lieu d'une plage?

Merci!

Répondre

0

Je ne l'ai pas fait moi-même, mais je pense qu'une approche consiste à utiliser le premier datagen et à passer le premier groupe de données d'apprentissage avec fit_generator et avec le nombre sélectionné d'époques. Ensuite, économisez du poids et utilisez le second datagen et le deuxième groupe avec fit_generator. Vous devez également définir initial_epoch et également charger les poids. Pour généraliser la question, ce que vous devez faire est de reprendre l'entraînement avec le deuxième datagen. S'il vous plaît voir https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model.

+0

Merci Mehdi. Cela signifie-t-il que même pour une seule époque, j'ai encore besoin de m'entraîner comme un relais? Et aussi besoin de continuer à charger les poids par lots précédents pour la formation par lots actuelle? – xiaoxiang

+0

Avant d'appliquer le deuxième datagen, vous devez charger les poids. – Mehdi