Nous avons besoin d'une fonction qui permet de lire les données def load_image(path, size): """custom function to load image""" image = Image.open(path) image = image.convert('RGB') image = image.resize(size) image = np.array(image)*(1./255) return image class DataGenerator(tf.keras.utils.Sequence): """Custom generator""" def __init__(self, x_set, y_set, batch_size=32, target_size=(150, 150)): self.x, self.y = x_set, y_set self.batch_size = batch_size self.target_size = target_size def __len__(self): return math.ceil(len(self.x) / self.batch_size) def __getitem__(self, idx): batch_x = self.x[idx * self.batch_size:(idx + 1) * self.batch_size] batch_y = self.y[idx * self.batch_size:(idx + 1) * self.batch_size] return np.array([ load_image(file_name, target_size) for file_name in batch_x]), np.array(batch_y) Appeler la classe# train_ds = DataGenerator(train_images, train_labels, batch_size=BATCH_SIZE, target_size=(WIDTH, HEIGHT)) val_ds = DataGenerator(val_images, val_labels, batch_size=BATCH_SIZE, target_size=(WIDTH, HEIGHT)) Code complet# def load_image(path, size): """custom function to load image""" image = Image.open(path) image = image.convert('RGB') image = image.resize(size) image = np.array(image)*(1./255) return image class DataGenerator(tf.keras.utils.Sequence): """Custom generator""" def __init__(self, x_set, y_set, batch_size=32, target_size=(150, 150)): self.x, self.y = x_set, y_set self.batch_size = batch_size self.target_size = target_size def __len__(self): return math.ceil(len(self.x) / self.batch_size) def __getitem__(self, idx): batch_x = self.x[idx * self.batch_size:(idx + 1) * self.batch_size] batch_y = self.y[idx * self.batch_size:(idx + 1) * self.batch_size] return np.array([ load_image(file_name, target_size) for file_name in batch_x]), np.array(batch_y) .