Projet de classification d'images
Création d'un modèle CNN élémentaire
Projet de classification d'images est une leçon Learn AI with Python 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 Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 5 leçons au total.
Projet de classification d’images
Projet de classification d’images
Dans ce projet, nous allons créer un CNN simple pour classer des images par 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 telles que 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)Création du modèle CNN
Création du modèle CNN
Nous définirons une architecture CNN composée de couches convolutives, de mise en commun et 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 utilisons la méthode compile pour le modèle :
- Fonction de perte : Entropie croisée catégorielle pour la classification multi-classes.
- Optimiseur : Optimiseur Adam pour un apprentissage efficace.
- Métriques : Exactitude pour évaluer les performances.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])Entraîner le modèle
Entraîner le modèle
Nous entraînons le modèle avec les données d’entraînement pendant 10 époques. Au cours de l’entraînement, le modèle apprend à classer les images par catégories.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))Évaluer le modèle
Évaluer le modèle
Après l'entraînement, nous évaluons le modèle sur les données d'évaluation afin de vérifier son exactitude :
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")Effectuer des prédictions
Effectuer des 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 :
- Créé et entraîné un CNN pour la classification d'images à l'aide du jeu de données CIFAR-10.
- Appris à charger, prétraiter et evaluate le jeu de données.
- Examiné les difficultés liées aux tâches de classification d'images.
Nous allons maintenant explorer des techniques d'augmentation des données afin d'améliorer les performances du modèle en générant des variations 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 Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python 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 élémentaire Tu pratiques Learn AI with Python 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 Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python 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 Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python 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 des images avec OpenCV
- Réseaux neuronaux convolutifs (CNN)
- Projet de classification d'images
- Techniques d'augmentation des données