PythonOT/POT

POT : Python Optimal Transport

何を解決するか

POT (Python Optimal Transport) は、最適輸送 (OT) に関連する最適化問題の包括的なソルバー群を提供します。確率分布間の距離とマッピングを効率的に計算する課題に対処し、信号処理、画像処理、機械学習タスクにおいて不可欠です。

動作方法

このライブラリは、正確な線形計画法(例:ネットワークシンプレックスソルバー)から正則化されたバージョン(例:エントロピー正則化のSinkhorn Knopp)まで、幅広いOTソルバーを実装しています。Gromov-Wasserstein距離(異なる空間内の分布を比較するため)、質量が異なる分布向けの非平衡および部分的OT、高次元データ向けのスライス Wasserstein距離など、さまざまなOT定式化をサポートしています。柔軟性とパフォーマンスを確保するため、PyTorch、JAX、TensorFlow、NumPy、CuPyなどの複数のバックエンドと統合されています。

対象ユーザー

機械学習、信号処理、画像処理の研究者および実務家で、分布間の距離を測定したり、ドメイン適応や部分空間学習を実行したい方々に最適です。

特徴

  • 多様なソルバー群: 精確な線形OT、エントロピーおよび二次正則化OT、Gromov-Wassersteinのバリエーションを含む。
  • ML統合: ドメイン適応、マッピング推定、Graph Neural Network (GNN) レイヤー向けの専用ソルバーを提供。
  • バリセンタ計算: 固定および自由なサポートに対する Wasserstein および GW バリセンタをサポート。
  • マルチバックエンド対応: PyTorch、JAX、TensorFlow、NumPy、CuPy 配列と互換性があり、ディープラーニングパイプラインへのシームレスな統合を可能にします。

関連

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