Creating an Image Classification Convolutional Neural Network with Python and Tensorflow.

Posted by


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.

  1. 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
  2. Importation des bibliothèques :
    Importez les bibliothèques nécessaires dans votre script Python :

    import tensorflow as tf
    from tensorflow.keras import layers, models
  3. 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 fonction tf.keras.datasets.mnist.load_data() :

    (train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
  4. 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'))
  1. 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'])
  2. Entraînement du modèle :
    Entraînez votre modèle en utilisant la fonction model.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))
  3. Évaluation du modèle :
    Évaluez les performances de votre modèle en utilisant la fonction model.evaluate() sur les données de test :

    test_loss, test_acc = model.evaluate(test_images, test_labels)
    print('Test accuracy:', test_acc)
  4. Utilisation du modèle pour la prédiction :
    Utilisez votre modèle entraîné pour prédire des classes d’images en utilisant la fonction model.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.

0 0 votes
Article Rating
24 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@labretagneCavousgagne
1 month ago

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 😂

@diallodaouda7858
1 month ago

C'est super
Comment puis-je vous contacter svp?

@Anas-h2s6n
1 month ago

Salut ,
Est ce que on peut utiliser se code en local et non sur google colab ?
Merci pour ta vidéo

@Bobybyk
1 month ago

Merci, tu m'as bien débloqué pour comprendre comment avancer sur mon projet de fouille de données à la fac haha

@hareksaid5721
1 month ago

Rondoudou et Pikachou ne sont pas des nombres réels mais des doudous voyons !!! Convolution = spectre.

@NedjarHanane
1 month ago

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

@BlusterXXV
1 month ago

Super ! Vraiment bien expliqué !

@alexandrenicolas900
1 month ago

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.

@maevangoban620
1 month ago

C'est quoi l'extension google que tu as utilisé pour récupérer toutes tes images ?

@dizak
1 month ago

Vas-y mec! Je suis ac toi !

@consultingprestig2096
1 month ago

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

@vincentmartin8529
1 month ago

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

@Code_ml_ia
1 month ago

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

@jean-hermanguay9481
1 month ago

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.

@channellexyB
1 month ago

Merci!

@nizarnizar6965
1 month ago

merci pour votre présentation. c'est quoi batch size et comment faire son choix?
merci

@liammarin1159
1 month ago

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

@maryuma4813
1 month ago

bonjour comment coder un réseau de croyance profonde sur le python utilisé pour prédire le cancer

@amariasaidi8285
1 month ago

Salut, svp est-ce vous avez travaillé avec python ?

@khaltouacajr2473
1 month ago

à 3min 27 faite en sorte de voire flou avec vos yeux vous verrez plus facilement