AIや数値計算向けに、テスト済みのJAXライブラリ(Flax、Optax、Orbax、Chex、Grain)を互換性のあるバージョンでまとめてインストールできるパッケージ。
patrick-kidger/diffrax
JAX向けの数値微分方程式ソルバー。ODE、SDE、CDEに対応し、自動微分とGPU実行をサポートします。
- スター
- 2,122
- フォーク
- 202
- 未解決の Issue
- 265
- 最終コミット
- 2 か月前
これは何?
Diffraxは、JAXを基盤とする数値微分方程式ソルバーライブラリです。常微分方程式(ODE)、確率微分方程式(SDE)、制御微分方程式(CDE)を統一された内部構造で扱うため、いずれも同じ方法で解くことができます。
明示的積分法のTsit5、Dopri5、Dopri8をはじめ、シンプレクティック法や陰解法など、多数のソルバーを備えています。積分区間も含め、あらゆる対象に対して積分をvmapでき、状態には任意のPyTreeを使用できます。高密度解を利用でき、解を通じた逆伝播のために複数の随伴法も用意されています。
Diffraxは、ニューラル微分方程式など、微分可能なシミュレーションを必要とするユーザー向けです。pipでインストールでき、Python 3.10以降が必要です。
主な機能
- 01統一された構造でODE、SDE、CDEを解きます。
- 02Tsit5やDopri8などの明示的・シンプレクティック・陰解法ソルバーを備えています。
- 03積分区間を含め、ソルバーの処理をvmapできます。
- 04状態としてPyTreeを受け付け、高密度解を提供します。
- 05逆伝播に使える複数の随伴法を利用できます。
ユースケース
- ソルバーを通じた勾配計算が必要な、ニューラル微分方程式モデルの学習。
- 動力学系のシミュレーションをGPU上でバッチ実行。
- SDEソルバーを使った確率過程のシミュレーション。
クイックスタート
- 1
pipでライブラリをインストールします
pip install diffrax - 2
ODE項とソルバーを定義し、diffeqsolveを呼び出します(READMEの簡単な例を参照)
使う前に知っておきたいこと
- Python 3.10以降が必要です。
- JAX上に構築されているため、使用するにはJAXが正常に動作する環境が必要です。
収録されている特集
トピック
よくある質問
- diffrax とは?
- JAX向けの数値微分方程式ソルバー。ODE、SDE、CDEに対応し、自動微分とGPU実行をサポートします。 Diffraxは、JAXを基盤とする数値微分方程式ソルバーライブラリです。常微分方程式(ODE)、確率微分方程式(SDE)、制御微分方程式(CDE)を統一された内部構造で扱うため、いずれも同じ方法で解くことができます。
- diffrax は無料で使えますか?ライセンスは?
- diffrax は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- diffrax は今もメンテナンスされていますか?
- 半年以内に更新あり。diffrax の最終コミットは 2026年9月6日 です。
- diffrax は何に使えますか?
- ソルバーを通じた勾配計算が必要な、ニューラル微分方程式モデルの学習。 動力学系のシミュレーションをGPU上でバッチ実行。 SDEソルバーを使った確率過程のシミュレーション。
- diffrax のインストール方法は?
- pipでライブラリをインストールします: pip install diffrax ODE項とソルバーを定義し、diffeqsolveを呼び出します(READMEの簡単な例を参照)
- diffrax はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/patrick-kidger/diffrax
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
MLIRベースのコンパイラとランタイム。MLモデルを統一IRに変換し、データセンターからモバイル・エッジデバイスまで展開できます。
Keras 3は、JAX、TensorFlow、PyTorch、または推論向けのOpenVINOで動作する深層学習フレームワークです。
ivy.transpileを使って、PyTorch、TensorFlow、JAX、NumPyなどのフレームワーク間で機械学習コードを変換するPythonライブラリ。
柔軟性を重視したJAX向けニューラルネットワークライブラリ。モデルの構築、検査、デバッグに使えるFlax NNX APIを提供します。
JAX、TensorFlow、PyTorchで動作するテキスト・画像・音声モデルを提供する、Keras 3向けの事前学習済みモデルライブラリです。