Projet de classification d’images
Création d’un modèle CNN de base
Projet de classification d’images est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 5. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 5 leçons au total.
Projet de classification d’images
Projet de classification d’images
Dans ce projet, nous allons construire un CNN simple pour classer des images en différentes catégories. La classification d’images consiste à prédire la catégorie ou l’étiquette d’une image d’entrée.

Jeu de données pour la classification
Jeu de données pour la classification
Nous utiliserons le jeu de données CIFAR-10, qui contient 60 000 images réparties en 10 catégories, comme les avions, les voitures, les oiseaux et les chats. Chaque image mesure 32×32 pixels et possède 3 canaux de couleur (RGB).
Chargement du jeu de données
Chargement du jeu de données
Nous chargerons le jeu de données CIFAR-10 à l’aide de TensorFlow :
import tensorflow as tf
from tensorflow.keras.datasets import cifar10
# Load dataset
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
# Normalize the pixel values to [0, 1]
x_train = x_train / 255.0
x_test = x_test / 255.0
print("Training data shape:", x_train.shape)Construction du modèle CNN
Construction du modèle CNN
Nous définirons une architecture CNN composée de couches convolutives, de couches de mise en commun et de couches entièrement connectées :
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# Define the CNN model
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])Compilation du modèle
Compilation du modèle
Nous compilons le modèle avec :
- Fonction de perte : Entropie croisée catégorielle pour la classification multiclasse.
- Optimiseur : Optimiseur Adam pour un apprentissage efficace.
- Mesures : Exactitude pour évaluer les performances.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Entraînement du modèle
Entraînement du modèle
Nous entraînons le modèle à l’aide des données d’entraînement pendant 10 époques. Au cours de l’entraînement, le modèle apprend à classer les images en différentes catégories.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Évaluation du modèle
Évaluation du modèle
Après l’entraînement, nous évaluons le modèle sur les données de test afin de vérifier son exactitude :
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Réalisation de prédictions
Réalisation de prédictions
Nous pouvons utiliser le modèle entraîné pour effectuer des prédictions sur de nouvelles images :
# Predict the category of a test image
import numpy as np
sample_image = x_test[0]
sample_label = y_test[0]
prediction = np.argmax(model.predict(sample_image[np.newaxis, ...]))
print(f"Predicted Label: {prediction}, Actual Label: {sample_label[0]}")Difficultés de la classification d’images
Difficultés de la classification d’images
Les difficultés courantes comprennent :
- Surapprentissage : Le modèle fonctionne bien sur les données d’entraînement, mais mal sur de nouvelles données.
- Déséquilibre des classes : Représentation inégale des catégories dans le jeu de données.
- Coût de calcul : L’entraînement de réseaux profonds nécessite des ressources importantes.
Résumé et prochaines étapes
Résumé et prochaines étapes
Dans ce projet, nous avons :
- Construit et entraîné un CNN pour la classification d’images à l’aide du jeu de données CIFAR-10.
- Appris à charger, prétraiter et évaluer le jeu de données.
- Examiné les difficultés liées aux tâches de classification d’images.
Ensuite, nous explorerons des techniques d’augmentation des données afin d’améliorer les performances du modèle en générant des variantes des images d’entraînement.

Questions Fréquemment Posées
La leçon « Projet de classification d’images » est-elle gratuite ?
Oui — le texte complet de « Projet de classification d’images » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 5 leçons au total.
Qu'est-ce que j'apprendrai dans « Projet de classification d’images » ?
Création d’un modèle CNN de base Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Python Academy ?
Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 5.
Combien de temps prend la leçon « Projet de classification d’images » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?
Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Qu’est-ce qu’une donnée image ?
- Traitement d’images avec OpenCV
- Réseaux neuronaux convolutifs (CNN)
- Projet de classification d’images
- Techniques d’augmentation des données