Table des matières
Préparation
Dataset
Construire le modèle
Entraîner le modèle
Tester le modèle
Conclusion
Maison développement back-end Tutoriel Python Exemple de classification d'images en Python

Exemple de classification d'images en Python

Jun 10, 2023 pm 03:43 PM
python 图像 分类

Python est un langage de programmation largement utilisé et très populaire en vision par ordinateur et en traitement d'images. Dans cet article, nous explorerons des exemples de classification d'images en Python. La classification d'images est une tâche fondamentale en vision par ordinateur qui consiste à identifier des objets ou des scènes dans des images. Cet article expliquera comment utiliser le framework d'apprentissage profond Keras en Python pour implémenter la formation et la prédiction de modèles de classification d'images.

Préparation

Avant de procéder à la classification des images, nous devons installer les logiciels nécessaires. Vous trouverez ci-dessous la liste des packages nécessaires :

  • Python 3.x
  • Keras
  • TensorFlow
  • NumPy
  • Pillow

Vous pouvez utiliser l'outil pip pour installer les packages ci-dessus. Exécutez la commande suivante dans la ligne de commande pour installer les packages logiciels nécessaires :

pip install keras
pip install tensorflow
pip install numpy
pip install Pillow
Copier après la connexion

Dataset

Avant de procéder à la classification d'images, nous avons besoin d'un ensemble de données. Un ensemble de données fait référence à un ensemble d'images annotées utilisées pour entraîner et tester des modèles de classification d'images. Dans cet exemple, nous utiliserons l'ensemble de données MNIST. L'ensemble de données MNIST contient des images de chiffres manuscrits et constitue un ensemble de données largement utilisé pour tester les performances des algorithmes de classification d'images.

L'ensemble de données MNIST contient 60 000 images d'entraînement et 10 000 images de test, chaque image mesure 28 x 28 pixels. Les images ont été étiquetées avec l'un des 10 chiffres de 0 à 9.

Dans Keras, vous pouvez utiliser le code suivant pour télécharger l'ensemble de données MNIST :

from keras.datasets import mnist

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Copier après la connexion

Construire le modèle

Avant de construire le modèle de classification d'images, nous devons définir l'architecture du modèle. Dans cet exemple, nous utiliserons un modèle de réseau neuronal convolutif (CNN). Le modèle CNN est un modèle d'apprentissage profond qui fonctionne bien en matière de classification d'images.

Keras offre un moyen simple de créer des modèles CNN. Voici le code d'un exemple de modèle CNN :

from keras import layers
from keras import models

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.Flatten())

model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))

model.summary()
Copier après la connexion

Dans le code ci-dessus, nous définissons un modèle CNN contenant deux couches convolutives et deux couches de pooling maximum. Le modèle comprend également deux couches denses, chacune utilisant la fonction d'activation ReLU.

Entraîner le modèle

Après avoir défini le modèle, nous devons entraîner le modèle. Pendant la formation, le modèle apprend à mapper les images d'entrée aux catégories numériques correctes.

Dans Keras, le code suivant peut être utilisé pour compiler et entraîner le modèle :

model.compile(optimizer='rmsprop',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

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

from keras.utils import to_categorical

train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)

model.fit(train_images, train_labels, epochs=5, batch_size=64)
Copier après la connexion

Dans le code ci-dessus, nous prétraitons d'abord l'image puis compilons le modèle avec l'optimiseur comme "rmsprop" et la fonction de perte comme cross- modèle d'entropie. Nous utilisons ensuite les images et les étiquettes d'entraînement pour entraîner le modèle. A la fin de chaque époque, nous testons le modèle à l'aide d'images et d'étiquettes tests.

Tester le modèle

Une fois la formation du modèle terminée, nous pouvons utiliser l'ensemble de données de test pour tester l'exactitude du modèle. Le modèle peut être testé en utilisant le code suivant :

test_loss, test_acc = model.evaluate(test_images, test_labels)
print('test_acc:', test_acc)
Copier après la connexion

Ensuite, nous pouvons faire des prédictions en utilisant le code suivant :

predictions = model.predict(test_images)

import numpy as np

print(np.argmax(predictions[0]))
Copier après la connexion

Dans le code ci-dessus, nous prédisons la première image de l'ensemble d'images de test, puis utilisons Numpy pour trouver le maximum valeur d'index et imprimer les résultats de la prédiction.

Conclusion

Dans cet article, nous avons présenté comment utiliser le framework d'apprentissage profond Keras en Python pour implémenter la formation et la prédiction de modèles de classification d'images. Nous utilisons l'ensemble de données MNIST pour les tests et le modèle CNN pour la formation. Enfin, nous testons la précision du modèle en effectuant des prédictions sur un ensemble d'images de test. Cet exemple peut être utilisé comme exemple d'introduction à l'apprentissage profond et à la vision par ordinateur, permettant aux débutants de comprendre comment utiliser Python pour implémenter des tâches de classification d'images.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quels sont les avantages et les inconvénients des modèles ? Quels sont les avantages et les inconvénients des modèles ? May 08, 2024 pm 03:51 PM

Quels sont les avantages et les inconvénients des modèles ?

Comment télécharger Deepseek Xiaomi Comment télécharger Deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

Comment télécharger Deepseek Xiaomi

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Jul 01, 2024 am 07:22 AM

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Comment lui demandez-vous Deepseek Comment lui demandez-vous Deepseek Feb 19, 2025 pm 04:42 PM

Comment lui demandez-vous Deepseek

Comment enregistrer la fonction d'évaluation Comment enregistrer la fonction d'évaluation May 07, 2024 am 01:09 AM

Comment enregistrer la fonction d'évaluation

Comment rechercher Deepseek Comment rechercher Deepseek Feb 19, 2025 pm 05:18 PM

Comment rechercher Deepseek

Quel logiciel est NET40 ? Quel logiciel est NET40 ? May 10, 2024 am 01:12 AM

Quel logiciel est NET40 ?

See all articles