patrick-kidger/equinox

Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/

何を解決するか

Equinox は、JAX のコアライブラリに含まれていない、ニューラルネットワークやモデルを構築するための基本的なツールを提供します。モデル定義のプロセスを簡素化するために、PyTorch に似た構文を導入し、開発者が状態を手動で管理する複雑さを抱えずに JAX の力を活用できるようにします。

動作方法

Equinox はモデルを PyTrees(登録されたクラス)として扱うことで、jitgradvmap などの JAX 変換にスムーズに渡すことができます。他の JAX フレームワークとは異なり、隠れた状態や「魔法」を内部で使わない。単にモデルクラスを PyTree として登録するだけで、JAX がそのオブジェクトに対してどのように操作を行うかをネイティブに理解できるようになります。

対象ユーザー

JAX でニューラルネットワークを構築したいが、PyTorch に似た直感的でオブジェクト指向的な構文を好む研究者や開発者、また高度な PyTree 操作や実行時エラー処理が必要なユーザー向けに設計されています。

特徴

  • モデル定義に PyTorch に似た構文。
  • コア JAX エコシステムおよび他の JAX ライブラリとの完全な互換性。
  • モデルはシンプルな PyTrees なので、JAX 変換とのスムーズな統合が可能。
  • 変換および PyTree 操作ルーチン用のフィルタリング API を含む。
  • デバッグを容易にするための実行時エラーをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト