画像分類をCNNを使ってしたいpython
画像分類タスクを行うために、PythonでCNN(Convolutional Neural Network)を使用する方法を示します。以下は、KerasとTensorFlowを使用して、簡単な画像分類モデルを構築する例です。
まず、必要なライブラリをインストールします。
bash
pip install tensorflow keras
次に、以下のスクリプトを使用して、犬と猫の画像を分類する簡単なCNNモデルを作成します。
python
import numpy as np import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers # データの準備 (x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data() x_train = x_train.astype("float32") / 255.0 x_test = x_test.astype("float32") / 255.0 # モデルの構築 model = keras.Sequential([ keras.Input(shape=(32, 32, 3)), layers.Conv2D(32, kernel_size=(3, 3), activation="relu"), layers.MaxPooling2D(pool_size=(2, 2)), layers.Conv2D(64, kernel_size=(3, 3), activation="relu"), layers.MaxPooling2D(pool_size=(2, 2)), layers.Flatten(), layers.Dropout(0.5), layers.Dense(10, activation="softmax"), ]) # モデルのコンパイル model.compile(loss="sparse_categorical_crossentropy", optimizer="adam", metrics=["accuracy"]) # モデルの学習 model.fit(x_train, y_train, batch_size=64, epochs=10, validation_split=0.2) # モデルの評価 test_loss, test_acc = model.evaluate(x_test, y_test) print("Test accuracy:", test_acc)
このスクリプトは、CIFAR-10データセットを使用して、犬と猫の画像を分類するモデルを構築します。モデルは2つの畳み込み層とプーリング層、そして1つの全結合層から構成されています。最後の層は10クラスの分類器を表し、softmax活性化関数を使用して各クラスの確率を出力します。
モデルのコンパイル時には、損失関数とオプティマイザ、評価メトリックスを指定します。また、fitメソッドを使用してデータをトレーニングし、evaluateメソッドを使用してテストデータでモデルの性能を評価します。
このコードを実行すると、画像分類モデルの学習と評価が行われ、テストセットでの精度が表示されます。

ディスカッション
コメント一覧
まだ、コメントがありません