Pythonでディープラーニングを実装する際には、TensorFlowやPyTorchのようなライブラリが一般的に使用されます。
ここでは、TensorFlowを用いた基本的なディープラーニングのサンプルコードについて説明します。
このサンプルでは、手書き数字の認識(MNISTデータセット)を行う簡単なニューラルネットワークを構築します。
目次
必要なライブラリのインストール
まず、TensorFlowをインストールする必要があります。
これは通常、以下のコマンドで行えます(環境によってはpip
の代わりにpip3
を使用)。
pip install tensorflow
サンプルコード
以下のコードは、TensorFlowを使用して単純なニューラルネットワークを構築し、MNISTデータセットでトレーニングと評価を行う例です。
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten
from tensorflow.keras.losses import SparseCategoricalCrossentropy
from tensorflow.keras.optimizers import Adam
# MNISTデータセットの読み込み
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# 画像データの正規化
train_images = train_images / 255.0
test_images = test_images / 255.0
# モデルの構築
model = Sequential([
Flatten(input_shape=(28, 28)), # 入力層(28x28ピクセルの画像を平滑化)
Dense(128, activation='relu'), # 隠れ層(128ユニット)
Dense(10, activation='softmax') # 出力層(10クラス)
])
# モデルのコンパイル
model.compile(optimizer=Adam(),
loss=SparseCategoricalCrossentropy(),
metrics=['accuracy'])
# モデルのトレーニング
model.fit(train_images, train_labels, epochs=5)
# モデルの評価
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Test Accuracy: {test_acc}")
このコードでは、以下の手順でディープラーニングモデルのトレーニングと評価を行っています。
- データの読み込みと前処理:
MNISTデータセットを読み込み、画像データを0から1の範囲に正規化しています。 - モデルの構築:
Sequential
モデルを使用して、入力層、隠れ層(ReLU活性化関数を使用)、出力層(Softmax活性化関数を使用)を持つニューラルネットワークを構築しています。 - モデルのコンパイル:
モデルをコンパイルする際に、最適化アルゴリズム(Adam)、損失関数(Sparse Categorical Crossentropy)、評価指標(精度)を指定しています。 - トレーニング:
fit
メソッドを使用して、トレーニングデータでモデルをトレーニングしています。 - 評価:
evaluate
メソッドを使用して、テストデータでモデルの性能を評価しています。
このサンプルコードは、ディープラーニングの基本的な概念を理解するのに役立ち、より複雑なモデルや異なるタイプのデータに対しても同様のアプローチが適用できます。
以上、Pythonのディープラーニングのサンプルコードについてでした。
最後までお読みいただき、ありがとうございました。