Technologieaustausch

Bildklassifizierung mit Python und TensorFlow: von vorne beginnen

2024-07-12

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

Einführung

Die Bildklassifizierung ist eine grundlegende Aufgabe der Computer Vision, die es Computern ermöglicht, Objekte in Bildern automatisch zu identifizieren. In diesem Artikel werden wir Python und TensorFlow verwenden, um ein einfaches Bildklassifizierungsmodell zu implementieren, das jedem hilft, die Grundlagen der KI-Technologie zu verstehen.

Vorbereitung

Zuerst müssen wir einige notwendige Python-Bibliotheken installieren. Öffnen Sie ein Befehlszeilenterminal und führen Sie den folgenden Befehl aus:

pip install tensorflow numpy matplotlib

Datensatz laden

Wir werden den berühmten MNIST-Datensatz verwenden, der Bilder handgeschriebener Ziffern (0 bis 9) enthält. In TensorFlow ist dieser Datensatz bereits integriert, sodass wir ihn problemlos laden können.

  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

Modell bauen

Wir werden ein einfaches neuronales Netzwerkmodell zur Bildklassifizierung verwenden. Dieses Modell enthält eine Eingabeschicht (Flatten-Schicht), zwei vollständig verbundene Schichten (Dense-Schicht) und eine Ausgabeschicht.

  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'])

Trainingsmodell

Jetzt können wir das Modell trainieren. Wir verwenden die Trainingsdaten (x_train, y_train), um das Modell zu trainieren, und die Testdaten (x_test, y_test), um die Leistung des Modells zu bewerten.

  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)

vorhergesagtes Bild

Nach Abschluss des Trainings können wir das Modell verwenden, um neue Bilder vorherzusagen. So können Sie anhand der Testdaten Vorhersagen zu einem Bild treffen.

  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)

Zusammenfassen

In diesem Artikel haben wir bei Null angefangen und ein einfaches Bildklassifizierungsmodell mit Python und TensorFlow implementiert. Anhand dieses Beispiels haben wir gelernt, wie man Daten lädt, ein Modell erstellt, das Modell trainiert und Vorhersagen trifft. Ich hoffe, dieser Artikel kann Ihnen den Einstieg in die KI-Technologie erleichtern und Ihr Interesse an weiteren Erkundungen in diesem Bereich wecken.


In diesem Artikel wird die Implementierung eines einfachen Bildklassifizierungsmodells mit Python und TensorFlow vorgestellt und detaillierte Codebeispiele bereitgestellt, die Ihnen bei der schrittweisen Erledigung dieser Aufgabe helfen. Derzeit ist Python auch sehr beliebt. Natürlich kann der Autor nicht aufhören, sich der neuesten Technologie zuzuwenden. Die Sprachen sind alle gleich, lerne sie einfach!