PythonOT/POT

POT : Python Optimal Transport

它解决了什么问题

该库提供了一套用于最优传输 (OT) 问题的综合求解器。OT 是一种用于衡量概率分布之间距离的数学框架,在机器学习中对于域适应、数据集比较和训练生成模型等任务非常有用。

它是如何工作的

它实现了广泛的算法——从精确的线性规划求解器(如 Earth Mover's Distance)到更快的正则化近似算法(如 Sinkhorn 算法)。该库设计为硬件无关,提供与 NumPy、PyTorch、JAX、TensorFlow 和 CuPy 无缝集成的后端,允许这些计算在 CPU 和 GPU 上运行。

适用人群

它旨在为从事信号处理、计算机视觉或深度学习的研究人员和机器学习工程师提供服务,他们需要将 Wasserstein 距离或基于 OT 的损失函数整合到模型中。

亮点

  • 丰富的 OT 求解器集合:包括 Gromov-Wasserstein、Fused Gromov-Wasserstein、非平衡 OT 和部分 OT。
  • 多后端支持:原生支持 PyTorch、JAX、TensorFlow 和 NumPy 数组。
  • 机器学习就绪:提供用于域适应、Wasserstein 重心和图神经网络 (GNN) 层的预构建模块。
  • 性能优化:包含用于大规模数据集的稳定 Sinkhorn 实现和随机求解器。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目