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 实现和随机求解器。
相关
- 项目
- 项目
- 项目
- 项目
- 项目