Les réseaux de neurones convolutifs (CNN) sont une technique puissante utilisée en intelligence artificielle pour la classification d’images. Dans ce tutoriel, nous allons apprendre à coder un réseau de neurones convolutifs de classification d’image en utilisant Python et Tensorflow.
-
Installation des bibliothèques nécessaires :
Pour commencer, assurez-vous d’avoir installé Python sur votre ordinateur. Ensuite, installez les bibliothèques Tensorflow et Keras en exécutant les commandes suivantes dans votre terminal :pip install tensorflow pip install keras
-
Importation des bibliothèques :
Importez les bibliothèques nécessaires dans votre script Python :import tensorflow as tf from tensorflow.keras import layers, models
-
Chargement du jeu de données :
Dans ce tutoriel, nous allons utiliser le jeu de données MNIST qui contient des images en noir et blanc de chiffres écrits à la main. Vous pouvez charger ce jeu de données en utilisant la fonctiontf.keras.datasets.mnist.load_data()
:(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
- Prétraitement des données :
Avant de créer notre modèle CNN, nous devons prétraiter les données en les normalisant et en les mettant sous forme de tensors :train_images = train_images.reshape((60000, 28, 28, 1)) train_images = train_images.astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1))
test_images = test_images.astype(‘float32’) / 255
train_labels = tf.keras.utils.to_categorical(train_labels)
test_labels = tf.keras.utils.to_categorical(test_labels)
5. Construction du modèle CNN :
Créez votre modèle CNN en utilisant la classe `tf.keras.models.Sequential()` et en ajoutant des couches de convolution, de pooling et de dense :
```python
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
-
Compilation du modèle :
Compilation du modèle en spécifiant la fonction de perte, l’optimiseur et les métriques :model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
-
Entraînement du modèle :
Entraînez votre modèle en utilisant la fonctionmodel.fit()
en spécifiant les données d’entraînement, le nombre d’époques et la taille du lot :model.fit(train_images, train_labels, epochs=5, batch_size=64, validation_data=(test_images, test_labels))
-
Évaluation du modèle :
Évaluez les performances de votre modèle en utilisant la fonctionmodel.evaluate()
sur les données de test :test_loss, test_acc = model.evaluate(test_images, test_labels) print('Test accuracy:', test_acc)
- Utilisation du modèle pour la prédiction :
Utilisez votre modèle entraîné pour prédire des classes d’images en utilisant la fonctionmodel.predict()
:predictions = model.predict(test_images)
En suivant ces étapes, vous serez en mesure de coder un réseau de neurones convolutifs de classification d’images en utilisant Python et Tensorflow. N’hésitez pas à explorer différentes architectures de réseau, hyperparamètres et techniques de réglage pour améliorer les performances de votre modèle.
Nan par contre le fait que ça fonctionne comme ça les images ça paraît tellement évident maintenant mais c’est très surprenant et déconcertant 😂
C'est super
Comment puis-je vous contacter svp?
Salut ,
Est ce que on peut utiliser se code en local et non sur google colab ?
Merci pour ta vidéo
Merci, tu m'as bien débloqué pour comprendre comment avancer sur mon projet de fouille de données à la fac haha
Rondoudou et Pikachou ne sont pas des nombres réels mais des doudous voyons !!! Convolution = spectre.
ModuleNotFoundError Traceback (most recent call last)
Cell In[2], line 1
—-> 1 import cv2
2 import numpy as np
3 import requests
ModuleNotFoundError: No module named 'cv2'
slvp j ai un probleme la ,si c 'est un projet mentionner dans quel video ,merci
Super ! Vraiment bien expliqué !
Je sais pas si cette vidéo est censée être destinée à un auditorat déjà informé sur le sujet, mais si ce n'est pas le cas, je pense que les explications sont souvent trop évasives, voire inexistantes.
C'est quoi l'extension google que tu as utilisé pour récupérer toutes tes images ?
Vas-y mec! Je suis ac toi !
Salut, j'aime ta vidéo mais le soucis c'est que tu fais un truc complexe pour faire un truc de gamin XD Jte jure on vois l'état des francais en programmation… Pk tu ne fais pas un truc serieux genre reperer la marque d'une voiture ou une espece animal genre chat, chien les races etc… Mais bon.. C'est peut etre con se que je dis mais j'aimerais bien voir un francais qui nous montre des projets plus intelligent si je puis me permettre.. En tout cas GG a toi quand meme
Bonjour, quel est cette extension utilisée à 7:30 pour sélectionner et télécharger les images de google images?
Merci pour la vidéo
bonjour, j'ai instaler tout le code il y a 3 jour et j'ai vue que la version actuel de tensorflow ne prend plus en charge le model.predict_classes
donc ce que j'ai fait c'est que j'ai tester d'autre morceau de code mais sa ne marchais pas, donc j'ai mit la version qui marchais avec le model.predict_classes (la 2.4.0),
mais quand j'exécute le code le model.predict_classes me met toujours 1 c'est a dire le pika
et peut un port ce que j'ai fait sur ces ligne sa ne fonctione pas donc si quelqun a la réponce dit la nous svp car je ne suis pas le seul a avoir eu sa probleme
merci
Merci pour la vidéo. J'ai cependant un problème à la fin avec la fonction model.predict_class qui ne marche plus avec les dernières versions de Keras/tensorflow. Quand je la remplace par des suggestions qu'on retrouve ici et là sur le net, j'obtiens toujours la même prédiction, peu importe l'image que je lui donne. D'autres ont souligné ce problème. Je ne sais pas si tu peux nous aider à trouver une solution. Merci encore.
Merci!
merci pour votre présentation. c'est quoi batch size et comment faire son choix?
merci
Bonjour, svp est ce que on peut reprendre la logique de ce programme pour crée un outil de détection d'un certains nombre de maladies végétales? merci
bonjour comment coder un réseau de croyance profonde sur le python utilisé pour prédire le cancer
Salut, svp est-ce vous avez travaillé avec python ?
à 3min 27 faite en sorte de voire flou avec vos yeux vous verrez plus facilement