Ce projet a pour objectif de créer et d’entraîner un réseau de neurones convolutifs (CNN) pour la classification d’images en utilisant les bibliothèques TensorFlow et Keras. Le modèle sera entraîné pour différencier entre deux classes d’images : Homer et Bart Simpson. Le projet suit une série d'étapes allant de la préparation des données à l'entraînement du modèle. Le fichier Jupyter Notebook contient du code pour la création et l'entraînement d'un réseau de neurones convolutifs (CNN) pour la classification d'images.
TensorFlow et Keras : Pour créer et entraîner des modèles de réseaux de neurones. Matplotlib et Seaborn : Pour visualiser les données et les résultats. Zipfile et os : Pour gérer les fichiers compressés et les chemins de fichiers. Numpy et OpenCV : Pour la manipulation d'images et les opérations numériques.
Google Drive : Monté pour accéder aux fichiers de données stockés dans le Drive.
Fichier Zip : Extraction des images à partir d'un fichier zip stocké dans Google Drive, contenant les datasets d'entraînement et de test.
Chargement des Images : Vérification des images en les chargeant individuellement. Générateur d'Images pour l'Entraînement : Utilisation de ImageDataGenerator pour augmenter les images d'entraînement (rotation, zoom, flip horizontal) afin de rendre le modèle plus robuste.
Entraînement : Création d'un générateur d'images à partir des répertoires d'images d'entraînement, avec un redimensionnement à 64x64 pixels. Test : Création d'un générateur d'images à partir des répertoires d'images de test sans augmentation.
Sequential Model : Utilisation de Keras pour construire un modèle séquentiel. Couches Convolutives : Ajout de trois couches convolutives, chacune suivie d'une couche de pooling pour extraire les caractéristiques des images. Flatten : Transformation des matrices en vecteurs pour les couches entièrement connectées. Couches Entièrement Connectées : Ajout de deux couches denses (fully connected) avec la fonction d'activation ReLU. Couche de Sortie : Une couche dense avec la fonction d'activation softmax pour la classification en deux classes.
Optimiseur Adam : Utilisation de l'optimiseur Adam pour l'apprentissage. Fonction de Perte : categorical_crossentropy, adaptée aux problèmes de classification multi-classes. Métrique : Utilisation de l'accuracy pour évaluer les performances du modèle.
Summary : Affichage de la structure du modèle, y compris le nombre de paramètres et les dimensions de chaque couche.