Python Keras
ライブラリ完全ガイド
Keras
は、シンプルかつ強力なディープラーニング用の高水準 API であり、TensorFlow
上で動作します。ニューラルネットワークの迅速なプロトタイピングや本番運用に最適です。本記事では、Python で Keras
を使った深層学習モデルの構築方法を、コピー可能なコードブロック付きで紹介します。
1. Keras
の概要
- 直感的かつモジュール構造で使いやすい設計。
Sequential
モデルと関数型 API に対応。TensorFlow
の一部として統合。
インストール方法
pip install tensorflow # Keras は TensorFlow に含まれています
2. 主な機能と使用例
(1) モデルの構築(Sequential モデル)
from tensorflow import keras from tensorflow.keras import layers model = keras.Sequential([ layers.Dense(64, activation='relu', input_shape=(100,)), layers.Dense(10, activation='softmax') ])
(2) モデルのコンパイル
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
(3) モデルの学習(fit)
import numpy as np x_train = np.random.random((1000, 100)) y_train = np.random.randint(10, size=(1000,)) model.fit(x_train, y_train, epochs=10, batch_size=32)
(4) モデルの評価(evaluate)
x_test = np.random.random((200, 100)) y_test = np.random.randint(10, size=(200,)) model.evaluate(x_test, y_test)
(5) モデルの予測(predict)
predictions = model.predict(x_test) print(predictions[0])
(6) モデルの保存と読込
model.save("my_keras_model") loaded_model = keras.models.load_model("my_keras_model")
(7) コールバック(EarlyStopping)
from tensorflow.keras.callbacks import EarlyStopping es = EarlyStopping(monitor='val_loss', patience=3) model.fit(x_train, y_train, epochs=20, batch_size=32, validation_split=0.2, callbacks=[es])
(8) Functional API の使用
inputs = keras.Input(shape=(100,)) x = layers.Dense(64, activation="relu")(inputs) x = layers.Dense(64, activation="relu")(x) outputs = layers.Dense(10, activation="softmax")(x) model = keras.Model(inputs=inputs, outputs=outputs)
(9) カスタム損失関数の定義
def custom_loss(y_true, y_pred): return tf.reduce_mean(tf.square(y_true - y_pred)) model.compile(optimizer='adam', loss=custom_loss)
(10) TensorBoard ログ出力
log_dir = "logs" tensorboard_cb = keras.callbacks.TensorBoard(log_dir=log_dir) model.fit(x_train, y_train, epochs=5, callbacks=[tensorboard_cb])
3. Keras
の主な機能まとめ
機能 | 説明 |
---|---|
Sequential モデル |
層を順に積み重ねる単純構造のモデル構築 |
Functional API | 複雑な構造や分岐を含む柔軟なモデル構築 |
コールバック | 学習の制御や自動保存(EarlyStopping 等) |
モデル保存・再利用 | .save() / load_model() で簡単に保存・復元 |
TensorBoard | 学習ログを可視化してモニタリング可能 |
まとめ
Keras
は、シンプルでわかりやすい構文ながら強力な機能を備えており、初心者からプロフェッショナルまで幅広く利用されています。深層学習の第一歩として、ぜひ Keras
を使ってニューラルネットワーク構築を始めてみましょう!