Repolode
unifyai

unifyai/ivy

ivy.transpileを使って、PyTorch、TensorFlow、JAX、NumPyなどのフレームワーク間で機械学習コードを変換するPythonライブラリ。

スター
14,169
フォーク
5,443
未解決の Issue
988
最終コミット
9 時間前

これは何?

Ivyは、機械学習のモデル、ツール、ライブラリを別のフレームワーク向けに変換します。主なエントリーポイントであるivy.transpileに、あるフレームワーク向けに書かれた関数、クラス、モジュールを渡すと、対象フレームワークで動作する同等のコードが返されます。そのため、PyTorch向けのコードを手作業で書き換えずにTensorFlowから利用できます。

関数やクラスを渡した場合はその場で変換でき、モジュール全体を渡した場合は遅延変換できます。この場合、関数は最初に呼び出されたときに変換されます。またIvyには、関数を指定した対象フレームワーク向けの関数型計算グラフに変換するivy.trace_graphもあります。

READMEでは、PyTorchを変換元として、TensorFlow、JAX、NumPyを変換先としてサポートしていると記載されています。その他の変換元の組み合わせは、今後の対応予定とされています。

主な機能

  • 01ivy.transpileを使い、関数、クラス、モジュール全体をMLフレームワーク間で変換します。
  • 02korniaなどのライブラリ全体を遅延変換できます。
  • 03ivy.trace_graphを使い、関数を計算グラフに変換します。
  • 04pipでインストールできます。

ユースケース

  • PyTorchのモデルコードをTensorFlowプロジェクト内で再利用する。
  • PyTorchベースのユーティリティライブラリをJAXやNumPyで実行する。
  • 手作業で書き換えることなく、MLコードをフレームワーク間で移植する。

クイックスタート

  1. 1

    pipでivyをインストールします

    pip install ivy

使う前に知っておきたいこと

  • 一部のフレームワークでは、トランスパイルの対応は一方向のみです。現在、PyTorchはソースのみ、TensorFlow、JAX、NumPyはターゲットのみ対応しています。
  • ソースとしてのTensorFlow、JAX、NumPyなど、その他のフレームワークは対応予定として記載されています。
  • メタデータ上のライセンスはNOASSERTIONと記載されています。使用前にLICENSEファイルを確認してください。

トピック

よくある質問

ivy とは?
ivy.transpileを使って、PyTorch、TensorFlow、JAX、NumPyなどのフレームワーク間で機械学習コードを変換するPythonライブラリ。 Ivyは、機械学習のモデル、ツール、ライブラリを別のフレームワーク向けに変換します。主なエントリーポイントであるivy.transpileに、あるフレームワーク向けに書かれた関数、クラス、モジュールを渡すと、対象フレームワークで動作する同等のコードが返されます。そのため、PyTorch向けのコードを手作業で書き換えずにTensorFlowから利用できます。
ivy は無料で使えますか?ライセンスは?
ivy は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ivy は今もメンテナンスされていますか?
活発にメンテナンス中。ivy の最終コミットは 2026年10月22日 です。
ivy は何に使えますか?
PyTorchのモデルコードをTensorFlowプロジェクト内で再利用する。 PyTorchベースのユーティリティライブラリをJAXやNumPyで実行する。 手作業で書き換えることなく、MLコードをフレームワーク間で移植する。
ivy のインストール方法は?
pipでivyをインストールします: pip install ivy
ivy はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/unifyai/ivy

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト