Condivisione della tecnologia

Classificazione delle immagini con Python e TensorFlow: partire da zero

2024-07-12

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

introduzione

La classificazione delle immagini è un compito fondamentale nella visione artificiale, che consente ai computer di identificare automaticamente gli oggetti nelle immagini. In questo articolo utilizzeremo Python e TensorFlow per implementare un semplice modello di classificazione delle immagini per aiutare tutti a comprendere le basi della tecnologia AI.

Preparazione

Per prima cosa dobbiamo installare alcune librerie Python necessarie. Apri un terminale a riga di comando ed esegui il seguente comando:

pip install tensorflow numpy matplotlib

Carica il set di dati

Utilizzeremo il famoso set di dati MNIST, che contiene immagini di cifre scritte a mano (da 0 a 9). TensorFlow ha già questo set di dati integrato, quindi possiamo caricarlo facilmente.

  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

Costruisci modello

Utilizzeremo un semplice modello di rete neurale per la classificazione delle immagini. Questo modello contiene un livello di input (livello appiattito), due livelli completamente connessi (livello denso) e un livello di output.

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

Modello formativo

Ora possiamo addestrare il modello. Utilizzeremo i dati di training (x_train, y_train) per addestrare il modello e i dati di test (x_test, y_test) per valutare le prestazioni del modello.

  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)

immagine prevista

Una volta completato l'addestramento, possiamo utilizzare il modello per prevedere nuove immagini. Ecco come fare una previsione su un'immagine dai dati del 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)

Riassumere

In questo articolo, siamo partiti da zero e abbiamo implementato un semplice modello di classificazione delle immagini utilizzando Python e TensorFlow. Attraverso questo esempio abbiamo imparato come caricare dati, creare un modello, addestrarlo e fare previsioni. Spero che questo articolo possa aiutarti a iniziare con la tecnologia AI e ispirare il tuo interesse per ulteriori esplorazioni in questo campo.


Questo articolo illustra come implementare un semplice modello di classificazione delle immagini utilizzando Python e TensorFlow e fornisce esempi di codice dettagliati per aiutarti a completare questa attività passo dopo passo. Al momento, anche Python è molto popolare. Naturalmente, l'autore non può smettere di andare avanti. Le lingue sono tutte uguali, basta impararle!