技術共有

Python と TensorFlow による画像分類: ゼロから始める

2024-07-12

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

導入

画像分類はコンピューター ビジョンの基本的なタスクであり、コンピューターが画像内のオブジェクトを自動的に識別できるようになります。この記事では、誰もが AI テクノロジーの基本を理解できるように、Python と TensorFlow を使用して簡単な画像分類モデルを実装します。

準備

まず、必要な Python ライブラリをいくつかインストールする必要があります。コマンド ライン ターミナルを開き、次のコマンドを実行します。

pip install tensorflow numpy matplotlib

データセットをロードする

手書きの数字 (0 ~ 9) の画像が含まれる有名な MNIST データセットを使用します。 TensorFlow にはこのデータセットがすでに組み込まれているため、簡単にロードできます。

  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

モデルの構築

画像分類には単純なニューラル ネットワーク モデルを使用します。このモデルには、入力層 (平坦層)、2 つの完全に接続された層 (密層)、および出力層が含まれています。

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

トレーニングモデル

これで、モデルをトレーニングできるようになりました。トレーニング データ (x_train、y_train) を使用してモデルをトレーニングし、テスト データ (x_test、y_test) を使用してモデルのパフォーマンスを評価します。

  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)

予測画像

トレーニングが完了したら、モデルを使用して新しい画像を予測できます。テスト データから 1 つの画像を予測する方法は次のとおりです。

  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)

要約する

この記事では、Python と TensorFlow を使用して単純な画像分類モデルをゼロから実装しました。この例を通じて、データの読み込み、モデルの構築、モデルのトレーニング、予測の方法を学びました。この記事が、AI テクノロジーの入門に役立ち、この分野のさらなる探究に興味を持っていただければ幸いです。


この記事では、Python と TensorFlow を使用して単純な画像分類モデルを実装する方法を紹介し、このタスクを段階的に完了するのに役立つ詳細なコード例を提供します。現在、Python も非常に人気があり、最先端のテクノロジーを積極的に取り入れているのは事実です。言語はすべて同じなので、学習するだけです。