unifyai/ivy

Convert Machine Learning Code Between Frameworks

解決する課題

Ivyは、機械学習におけるフレームワークのロックイン問題に対処します。開発者は、コードを手動で書き直すことなく、あるフレームワーク(PyTorchなど)から別のフレームワーク(TensorFlow、JAX、NumPyなど)へ、MLモデル、ツール、ライブラリを変換できます。

仕組み

Ivyは、フレームワーク固有のコードを任意のターゲットフレームワークに変換できるトランスパイラ(ivy.transpile)を使用します。特定の関数やクラスに対する「eager(即時)トランスパイル」と、モジュールやライブラリ全体に対する「lazy(遅延)トランスパイル」の両方をサポートしています。さらに、ivy.trace_graph 関数により、指定された関数から効率的で完全に機能する計算グラフをトレースし、冗長なコードを削除します。

対象ユーザー

特定のエコシステムの利点やデプロイメント要件を活用するために、モデルやライブラリを異なるディープラーニングフレームワーク間で移動させる必要があるMLエンジニアや研究者向けに設計されています。

ハイライト

  • マルチフレームワーク対応: PyTorch、TensorFlow、JAX、NumPyの間でコードを変換します。
  • 柔軟なトランスパイル: コードのeager(即時)変換とlazy(オンデマンド)変換の両方をサポートしています。
  • グラフ・トレーシング: 既存のフレームワークコードからクリーンな計算グラフを抽出する機能。
  • ライブラリのポータビリティ: サードパーティのライブラリ全体を異なるターゲットフレームワークにトランスパイルできます。

関連

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