Last translated: 12 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

Keras 3: 人間のためのディープラーニング

Keras 3はマルチバックエンドのディープラーニングフレームワークで、JAX、TensorFlow、PyTorch、OpenVINO(推論専用)をサポートしています。 コンピュータビジョン、自然言語処理、音声処理、時系列予測、レコメンダーシステムなどのモデルを簡単に構築・トレーニングできます。

  • 加速されたモデル開発: Kerasの高レベルUXとPyTorchやJAXのeager executionのようなデバッグしやすいランタイムにより、ディープラーニングソリューションを迅速に提供
  • 最先端のパフォーマンス: モデルアーキテクチャに最適なバックエンド(多くの場合JAX!)を選択することで、他のフレームワークと比べて20%から350%の高速化を実現。ベンチマークはこちら
  • データセンター規模のトレーニング: ノートパソコンから大規模なGPU/TPUクラスターまで自信を持ってスケール

新興スタートアップからグローバル企業まで、300万人近い開発者がKeras 3の力を活用しています。

インストール

pipでのインストール

Keras 3はPyPIでkerasとして利用可能です。Keras 2はtf-kerasパッケージとして引き続き利用可能です。

  1. kerasをインストール:
pip install keras --upgrade
  1. バックエンドパッケージをインストール

kerasを使用するには、選択したバックエンド(tensorflowjaxtorch)もインストールする必要があります。 特定の前処理レイヤーやtf.dataパイプラインなど、一部のKeras 3機能を使用するにはtensorflowが必要です。

ローカルインストール

最小限のインストール

Keras 3はLinuxとMacOSシステムと互換性があります。WindowsユーザーにはWSL2での実行を推奨します。 開発バージョンをローカルにインストールするには:

  1. 依存関係をインストール:
pip install -r requirements.txt
  1. ルートディレクトリからインストールコマンドを実行
python pip_build.py --install
  1. keras_exportパブリックAPIを更新するPR作成時にAPI生成スクリプトを実行:
./shell/api_gen.sh

GPUサポートの追加

requirements.txtファイルはTensorFlow、JAX、PyTorchのCPU専用バージョンをインストールします。GPUサポートのために、TensorFlow、JAX、PyTorch用に別々のrequirements-{backend}-cuda.txtも提供しています。これらはすべてのCUDA依存関係をpip経由でインストールし、NVIDIAドライバーが事前にインストールされていることを想定しています。CUDAバージョンの不一致を避けるため、各バックエンドごとにクリーンなPython環境を作成することを推奨します。例として、condaでJax GPU環境を作成する方法:

conda create -y -n keras-jax python=3.10
conda activate keras-jax
pip install -r requirements-jax-cuda.txt
python pip_build.py --install

バックエンドの設定

環境変数KERAS_BACKENDをエクスポートするか、~/.keras/keras.jsonにあるローカル設定ファイルを編集してバックエンドを設定できます。利用可能なバックエンドオプションは:"tensorflow""jax""torch""openvino"。例:

export KERAS_BACKEND="jax"

Colabでは次のように設定できます:

import os
os.environ["KERAS_BACKEND"] = "jax"

import keras

注意: バックエンドはkerasをインポートする前に設定する必要があり、パッケージをインポートした後は変更できません。

注意: OpenVINOバックエンドは推論専用バックエンドであり、model.predict()メソッドを使用したモデル予測の実行のみを目的としています。

後方互換性

Keras 3は(TensorFlowバックエンド使用時)tf.kerasのドロップイン置換として動作するように設計されています。既存のtf.kerasコードをそのまま使用し、model.save()の呼び出しが最新の.kerasフォーマットを使用していることを確認するだけで完了です。

カスタムコンポーネントを含まないtf.kerasモデルは、JAXやPyTorch上で即座に実行できます。

カスタムレイヤーやカスタムtrain_step()などのカスタムコンポーネントを含む場合でも、通常数分でバックエンドに依存しない実装に変換可能です。

さらに、Kerasモデルは使用するバックエンドに関係なく、あらゆる形式のデータセットを処理できます: 既存のtf.data.DatasetパイプラインやPyTorchのDataLoaderでモデルをトレーニング可能です。

Keras 3を使用する理由

  • 任意のフレームワーク上で高レベルのKerasワークフローを実行 - JAXのスケーラビリティとパフォーマンスやTensorFlowの本番環境エコシステムオプションなど、各フレームワークの利点を自由に活用
  • 任意のフレームワークの低レベルワークフローで使用できるカスタムコンポーネント(レイヤー、モデル、指標など)を作成
    • Kerasモデルを取得し、ネイティブTF、JAX、PyTorchでスクラッチから書いたトレーニングループでトレーニング可能
    • KerasモデルをPyTorchネイティブのModuleやJAXネイティブのモデル関数の一部として使用可能
  • フレームワークのロックインを避けてMLコードを将来にわたって有効に
  • PyTorchユーザー: ついにKerasのパワーと使いやすさを利用可能
  • JAXユーザー: 機能豊富で実績のある、十分にドキュメント化されたモデリングおよびトレーニングライブラリにアクセス

詳細はKeras 3リリース発表をご覧ください。