Partage de technologie

Classification d'images avec Python et TensorFlow : repartir de zéro

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

introduction

La classification d'images est une tâche fondamentale en vision par ordinateur, qui permet aux ordinateurs d'identifier automatiquement les objets dans les images. Dans cet article, nous utiliserons Python et TensorFlow pour implémenter un modèle simple de classification d'images afin d'aider chacun à comprendre les bases de la technologie de l'IA.

Préparation

Tout d’abord, nous devons installer certaines bibliothèques Python nécessaires. Ouvrez un terminal de ligne de commande et exécutez la commande suivante :

pip install tensorflow numpy matplotlib

Charger l'ensemble de données

Nous utiliserons le fameux jeu de données MNIST, qui contient des images de chiffres manuscrits (0 à 9). TensorFlow intègre déjà cet ensemble de données, nous pouvons donc le charger facilement.

  1. import tensorflow as tf
  2. from tensorflow.keras.datasets import mnist
  3. # 加载MNIST数据集
  4. (x_train, y_train), (x_test, y_test) = mnist.load_data()
  5. # 归一化图像数据
  6. x_train, x_test = x_train / 255.0, x_test / 255.0

Construire un modèle

Nous utiliserons un modèle de réseau neuronal simple pour la classification des images. Ce modèle contient une couche d'entrée (couche Aplatir), deux couches entièrement connectées (couche Dense) et une couche de sortie.

  1. from tensorflow.keras.models import Sequential
  2. from tensorflow.keras.layers import Dense, Flatten
  3. # 构建顺序模型
  4. model = Sequential([
  5. Flatten(input_shape=(28, 28)), # 输入层:将28x28的图像展平成一维数组
  6. Dense(128, activation='relu'), # 隐藏层:128个神经元,使用ReLU激活函数
  7. Dense(10, activation='softmax') # 输出层:10个神经元,使用Softmax激活函数
  8. ])
  9. # 编译模型
  10. model.compile(optimizer='adam',
  11. loss='sparse_categorical_crossentropy',
  12. metrics=['accuracy'])

Modèle de formation

Maintenant, nous pouvons entraîner le modèle. Nous utiliserons les données d'entraînement (x_train, y_train) pour entraîner le modèle et les données de test (x_test, y_test) pour évaluer les performances du modèle.

  1. # 训练模型
  2. model.fit(x_train, y_train, epochs=5)
  3. # 评估模型
  4. test_loss, test_acc = model.evaluate(x_test, y_test)
  5. print('测试准确率:', test_acc)

image prédite

Une fois la formation terminée, nous pouvons utiliser le modèle pour prédire de nouvelles images. Voici comment faire des prédictions sur une image à partir des données de test.

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. # 选择一张测试图像
  4. img = x_test[0]
  5. plt.imshow(img, cmap='gray')
  6. plt.show()
  7. # 预测图像类别
  8. img = np.expand_dims(img, 0) # 扩展维度以匹配模型输入
  9. predictions = model.predict(img)
  10. predicted_class = np.argmax(predictions)
  11. print('预测类别:', predicted_class)

Résumer

Dans cet article, nous sommes partis de zéro et avons implémenté un modèle simple de classification d'images à l'aide de Python et TensorFlow. Grâce à cet exemple, nous avons appris à charger des données, à créer un modèle, à entraîner le modèle et à faire des prédictions. J'espère que cet article pourra vous aider à vous lancer dans la technologie de l'IA et susciter votre intérêt pour une exploration plus approfondie dans ce domaine.


Cet article explique comment implémenter un modèle simple de classification d'images à l'aide de Python et TensorFlow, et fournit des exemples de code détaillés pour vous aider à effectuer cette tâche étape par étape. À l'heure actuelle, Python est également très populaire. Bien sûr, l'auteur ne peut s'empêcher d'adopter une technologie de pointe. Les langues sont toutes pareilles, il suffit de les apprendre !