Preprocess data to get it ready for use in a model

Il existe de nombreuses façon de preprocess les données pour les préparer à être utilisées par le modèle.

Dans cet exemple, un rescale (normalisation) est effectué sur les images , un redimensionnement (300, 300), et elles sont batchées à 128.

Par ailleurs, en même temps qu’on lit les données sur le directory, on crée les labels binaires.

On le fait à la fois pour les données d’apprentissage et les données de validation.

from tensorflow.keras.preprocessing.image import ImageDataGenerator

# All images will be rescaled by 1./255
train_datagen = ImageDataGenerator(rescale=1/255)
validation_datagen = ImageDataGenerator(rescale=1/255)

# Flow training images in batches of 128 using train_datagen generator
train_generator = train_datagen.flow_from_directory(
        '/tmp/horse-or-human/',  # This is the source directory for training images
        target_size=(300, 300),  # All images will be resized to 300x300
        batch_size=128,
        # Since we use binary_crossentropy loss, we need binary labels
        class_mode='binary')

# Flow training images in batches of 128 using train_datagen generator
validation_generator = validation_datagen.flow_from_directory(
        '/tmp/validation-horse-or-human/',  # This is the source directory for training images
        target_size=(300, 300),  # All images will be resized to 300x300
        batch_size=32,
        # Since we use binary_crossentropy loss, we need binary labels
        class_mode='binary')