Keras 3.0とは?変更点まとめ|TensorFlow依存から完全脱却した新世代Kerasを解説

投稿日:2025年11月24日月曜日 最終更新日:

Google Colab JAX Keras PyTorch

X f B! P L
Eyecatch image showing the Keras 3.0 logo with icons for TensorFlow, PyTorch, and JAX.

  Keras 3.0 は 2023年後半にリリースされ、2024年初頭に本格展開された大型アップデートです。   これまでの「TensorFlowの高レベルAPI」という立場から脱却し、   PyTorch・JAX・TensorFlow の3つを共通コードで扱う「マルチバックエンドフレームワーク」へと進化しました。

Keras 3.0 の特徴

Keras 3.0 は以下のバックエンドをサポートします:

  • TensorFlow
  • PyTorch
  • JAX

コードはどのバックエンドでも同じように動くため、 1つの記述で複数のフレームワークを横断できるのが最大の魅力です。

簡易比較表

項目 TensorFlow PyTorch JAX
主な用途 実務・デプロイ(TF Lite / TFJS) 研究・実験(論文再現) 高速化・大規模(TPU と相性良)
GPU/TPU 性能 良好(TPU サポートあり) 良好(torch.compile 等で高速化) 非常に良好(XLA により高速)
デバッグ性 やや堅め 直感的でデバッグしやすい 関数型寄りで慣れが必要
エコシステム(周辺ツール) 豊富(TF Lite / TFJS / TFX) 豊富(Hugging Face, PyTorch Lightning等) 成長中(研究向けライブラリ中心)

主な変更点まとめ

① TensorFlow 依存の解消(独立したパッケージへ)

pip install keras

KerasがTensorFlowとは独立したライブラリとなり、旧バージョンの tf.keras から脱却しました。

② モデル保存形式の統一(.keras: Universal Save Format)

model.save("model.keras")

この .keras 形式は、どのバックエンドで学習しても、どのバックエンドで読み込み・推論ができる**ユニバーサルな保存形式**です。

③ API の整理とモジュール構造の刷新

from keras import layers, models

Keras 3.0 の基本コード例

from keras import layers, models

model = models.Sequential([
    layers.Dense(128, activation="relu"),
    layers.Dense(10, activation="softmax"),
])

model.compile(
    optimizer="adam",
    loss="sparse_categorical_crossentropy",
    metrics=["accuracy"]
)

model.summary()

Google Colab での動作確認

Google Colab は 2024〜2025 年現在、 デフォルトで TensorFlow バックエンドの Keras 3.x がインストール済みです。
そのため追加設定なしで Keras 3.0 の動作確認ができます。

① Colab で Keras バージョンを確認

import keras
keras.__version__
3.10.0

「3.x.x」と表示されれば Keras 3 系が利用可能です。

② 簡単なモデルで動作確認

from keras import layers, models
from keras.datasets import mnist

# ===== Load dataset =====
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# ===== Build model =====
model = models.Sequential([
    layers.Flatten(input_shape=(28, 28)),
    layers.Dense(128, activation="relu"),
    layers.Dropout(0.2),
    layers.Dense(10, activation="softmax")
])

model.compile(
    optimizer="adam",
    loss="sparse_categorical_crossentropy",
    metrics=["accuracy"]
)

# ===== Train =====
model.fit(x_train, y_train,
          epochs=3,
          validation_data=(x_test, y_test))

問題なく学習が進めば、Keras 3.0 が Colab 環境で正常に動作しています。

③ PyTorch / JAX バックエンドで動かしたい場合

ColabでTensorFlow以外のバックエンドを使用する場合、以下の設定が必要です。重要な注意点として、環境変数 (%env) の設定は、 必ず Keras をインポートするセッションの最初に実行してください。

PyTorch バックエンド

Keras 3で PyTorch をバックエンドとして使用するには、まず PyTorch のインストールが必要です(Google Colabでは、すでにインストール済見なので実行不要)。

!pip install torch # PyTorch本体のインストール(必要に応じて)
%env KERAS_BACKEND=torch

# 環境変数設定後に Keras をインポート
import keras
keras.backend.backend()
バックエンドが変更されていることが分かります。
env: KERAS_BACKEND=torch
torch

【実行ログに関する補足】
Keras 3が設計上、どのバックエンド(TensorFlow, PyTorch, JAX)を使っていても、統一された形式(TensorFlowに近い形式)でログ出力されます。 ログ表示が変わらなくても、内部的には PyTorch が利用されています。

実行ログ

Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11490434/11490434 ━━━━━━━━━━━━━━━━━━━━ 1s 0us/step
Epoch 1/3
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 33s 15ms/step - accuracy: 0.8634 - loss: 0.4758 - val_accuracy: 0.9583 - val_loss: 0.1417
Epoch 2/3
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 38s 20ms/step - accuracy: 0.9562 - loss: 0.1507 - val_accuracy: 0.9690 - val_loss: 0.1011
Epoch 3/3
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 50s 27ms/step - accuracy: 0.9656 - loss: 0.1120 - val_accuracy: 0.9725 - val_loss: 0.0856
<keras.src.callbacks.history.History at 0x7c9811b46720>

JAX バックエンド

google Colabでは、すでにインストール済み。

%env KERAS_BACKEND=jax
import keras
keras.backend.backend()
バックエンドが変更されていることがわかる。
env: KERAS_BACKEND=jax
jax

実行ログ

実行結果はPyTorchの場合と同じ

注意点

     
  • バックエンド依存ライブラリの制限: `tf.data` や `torch.nn` など、各バックエンド独自の低レベルな機能やデータパイプラインは、Kerasコード内では原則使用できません。
  •  
  • モデル保存形式: 旧来の `.h5` 形式は互換性のために維持されていますが、**ユニバーサルな `.keras` 形式の使用が強く推奨**されます。(`.h5` は将来的に廃止される可能性があります。)

まとめ

Keras 3.0 は「フレームワーク横断 API」という新しい位置付けで、 TensorFlow の縛りを解き放つ大幅アップデートとなりました。
Google Colab でもすぐに使えるため、機械学習学習者にとって最も扱いやすい環境です。