PythonOT/POT

POT : Python Optimal Transport

解决的问题

POT(Python Optimal Transport)提供了一套全面的最优化运输(Optimal Transport, OT)相关问题的求解器。它解决了高效计算概率分布之间距离和映射的挑战,这对于信号处理、图像处理和机器学习任务至关重要。

工作原理

该库实现了多种OT求解器,从精确的线性规划(如网络单纯形求解器)到正则化版本(如用于熵正则化的Sinkhorn Knopp)。它支持多种OT公式,包括用于比较不同空间中分布的Gromov-Wasserstein距离、用于质量不同的分布的非平衡和部分OT,以及用于高维数据的切片Wasserstein距离。为确保灵活性和性能,它与PyTorch、JAX、TensorFlow、NumPy和CuPy等多种后端集成。

适用人群

本库专为需要测量分布间距离或执行领域自适应和子空间学习的机器学习、信号处理和图像处理领域的研究人员和实践者设计。

主要亮点

  • 多样化的求解器集合:包含精确线性OT、熵正则化和二次正则化OT,以及Gromov-Wasserstein变体。
  • 机器学习集成:提供用于领域自适应、映射估计和图神经网络(GNN)层的专用求解器。
  • 巴氏中心计算:支持固定支持和自由支持的Wasserstein和GW巴氏中心。
  • 多后端支持:与PyTorch、JAX、TensorFlow、NumPy和CuPy数组兼容,可无缝集成到深度学习流水线中。

相关

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