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')