Description : Le projet consiste à construire un modèle de réseau de neurones convolutif (CNN) pour la classification d'images à partir du jeu de données MNIST. MNIST contient des images de chiffres manuscrits (de 0 à 9), et l'objectif est de reconnaître ces chiffres à partir des images en utilisant un modèle de deep learning.
Objectif : L'objectif principal est de :
Langages utilisés : Python
Technologies et Bibliothèques :
Modèles et outils :
Un modèle de deep learning conçu pour le traitement d'images. Il se compose de couches convolutives pour extraire les caractéristiques des images, de couches de pooling pour réduire la taille des cartes de caractéristiques, et de couches entièrement connectées pour effectuer la classification.
Étapes du Projet :
Le jeu de données MNIST est chargé via mnist.load_data(). Il contient 60 000 images pour l'entraînement et 10 000 images pour les tests.
Les images du jeu de données sont : Redimensionnées pour correspondre au format (28x28x1). Normalisées en divisant les pixels par 255 afin que les valeurs soient entre 0 et 1. Les labels (chiffres de 0 à 9) sont convertis en format catégoriel via to_categorical().
Un modèle CNN est créé avec les étapes suivantes : Couches convolutives (Conv2D) pour l'extraction des caractéristiques. Couches de sous-échantillonnage (MaxPooling2D) pour réduire la taille des cartes de caractéristiques. Une couche entièrement connectée (Dense) pour la classification finale. Utilisation de la régularisation par Dropout pour éviter le surapprentissage.
Le modèle est compilé avec l'optimiseur Adam et la fonction de perte categorical_crossentropy. La métrique choisie est la précision (accuracy).
Après l'entraînement, le modèle est évalué sur le jeu de données de test pour obtenir la précision finale.
Les courbes de précision et de perte sont tracées pour les phases d'entraînement et de validation, permettant de voir l'évolution des performances du modèle.
Les utilisateurs peuvent télécharger leurs propres images manuscrites, qui sont prétraitées et redimensionnées en 28x28 pixels. Le modèle prédit ensuite le chiffre sur l'image, et les résultats sont affichés.
Code source : Retrouvez le code complet de ce projet sur Classification_Conv2net_MNIST.