Skip to main content

Python 最优传输库

项目描述

POT:Python 最优传输

PyPI 版本 蟒蛇云 构建状态 编解码器状态 下载 Anaconda 下载 执照

这个开源 Python 库为与信号、图像处理和机器学习的最佳传输相关的优化问题提供了几个求解器。

网站和文档:https ://PythonOT.github.io/

源代码(麻省理工学院):https ://github.com/PythonOT/POT

POT 提供以下通用 OT 求解器(示例链接):

POT 提供以下机器学习相关的求解器:

文档中提供了一些其他示例 。

使用和引用工具箱

如果您在研究中使用此工具箱并发现它有用,请使用我们JMLR 论文中的以下参考来引用 POT :

Rémi Flamary, Nicolas Courty, Alexandre Gramfort, Mokhtar Z. Alaya, Aurélie Boisbunon, Stanislas Chambon, Laetitia Chapel, Adrien Corenflos, Kilian Fatras, Nemo Fournier, Léo Gautheron, Nathalie T.H. Gayraud, Hicham Janati, Alain Rakotomamonjy, Ievgen Redko, Antoine Rolet, Antony Schutz, Vivien Seguy, Danica J. Sutherland, Romain Tavenard, Alexander Tong, Titouan Vayer,
POT Python Optimal Transport library,
Journal of Machine Learning Research, 22(78):1−8, 2021.
Website: https://pythonot.github.io/

在中文提供格式:

@article{flamary2021pot,
  author  = {R{\'e}mi Flamary and Nicolas Courty and Alexandre Gramfort and Mokhtar Z. Alaya and Aur{\'e}lie Boisbunon and Stanislas Chambon and Laetitia Chapel and Adrien Corenflos and Kilian Fatras and Nemo Fournier and L{\'e}o Gautheron and Nathalie T.H. Gayraud and Hicham Janati and Alain Rakotomamonjy and Ievgen Redko and Antoine Rolet and Antony Schutz and Vivien Seguy and Danica J. Sutherland and Romain Tavenard and Alexander Tong and Titouan Vayer},
  title   = {POT: Python Optimal Transport},
  journal = {Journal of Machine Learning Research},
  year    = {2021},
  volume  = {22},
  number  = {78},
  pages   = {1-8},
  url     = {http://jmlr.org/papers/v22/20-451.html}
}

安装

该库已经在 Linux、MacOSX 和 Windows 上进行了测试。它需要一个 C++ 编译器来构建/安装 EMD 求解器,并依赖于以下 Python 模块:

  • 麻木 (>=1.16)
  • Scipy (>=1.0)
  • Cython (>=0.23)(仅构建,从 pip 或 conda 安装时不需要)

点安装

您可以通过 PyPI 安装工具箱:

pip install POT

或通过运行获取最新版本:

pip install -U https://github.com/PythonOT/POT/archive/master.zip # with --user for user install (no root)

使用 conda-forge 安装 Anaconda

如果您使用 Anaconda python 发行版,POT 在conda-forge中可用。要安装它和所需的依赖项:

conda install -c conda-forge pot

安装后检查

正确安装后,您应该能够正确导入模块:

import ot

请注意,为了更容易访问,模块被命名ot而不是pot.

依赖项

一些子模块需要额外的依赖项,下面将讨论

  • ot.dr(Wasserstein 降维)依赖于 autograd 和 pymanopt 可以安装:
pip install pymanopt autograd

例子

简短的例子

  • 导入工具箱
import ot
  • 计算 Wasserstein 距离
# a,b are 1D histograms (sum to 1 and positive)
# M is the ground cost matrix
Wd = ot.emd2(a, b, M) # exact linear program
Wd_reg = ot.sinkhorn2(a, b, M, reg) # entropic regularized OT
# if b is a matrix compute all distances to a and return a vector
  • 计算 OT 矩阵
# a,b are 1D histograms (sum to 1 and positive)
# M is the ground cost matrix
T = ot.emd(a, b, M) # exact linear program
T_reg = ot.sinkhorn(a, b, M, reg) # entropic regularized OT
  • 计算 Wasserstein 重心
# A is a n*d matrix containing d  1D histograms
# M is the ground cost matrix
ba = ot.barycenter(A, M, reg) # reg is regularization parameter

示例和笔记本

示例文件夹包含该库的几个示例和用例。包含示例和输出的完整文档可在https://PythonOT.github.io/上找到。

致谢

该工具箱由以下人员创建和维护

此处列出了该库的众多贡献者。

POT 受益于以下合作伙伴的资金或人力:

ANR国家科学研究中心3IA

贡献和行为准则

欢迎任何贡献,并应尊重贡献准则。项目的每个成员都应遵守行为准则

支持

您可以提出问题并加入开发讨论:

您还可以在 Github 问题中发布错误报告和功能请求。请务必先阅读我们的指南

参考

[1] Bonneel, N.、Van De Panne, M.、Paris, S. 和 Heidrich, W.(2011 年 12 月)。使用拉格朗日质量传递的位移插值。在 ACM 图形交易 (TOG) 中(第 30 卷,第 6 期,第 158 页)。ACM。

[2] 库图里,M.(2013 年)。Sinkhorn 距离:最佳传输的光速计算。在神经信息处理系统的进展中(第 2292-2300 页)。

[3] Benamou, JD, Carlier, G., Cuturi, M., Nenna, L. 和 Peyré, G. (2015)。正则化运输问题的迭代 Bregman 预测。SIAM 科学计算杂志,37(2),A1111-A1138。

[4] S. Nakhostin、N. Courty、R. Flamary、D. Tuia、T. Corpetti,用最优传输监督行星分离,高光谱图像和信号处理的 Whorkshop:遥感进化 (WHISPERS),2016。

[5] N.考特;R. 弗拉马里;D. 图亚;A. Rakotomamonjy,域适应的最优传输,在 IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.PP,no.99,pp.1-1

[6] Ferradans, S., Papadakis, N., Peyré, G., & Aujol, JF (2014)。正则化离散最优传输。SIAM 影像科学杂志,7(3),1853-1882。

[7] Rakotomamonjy, A., Flamary, R., & Courty, N. (2015)。广义条件梯度:收敛性分析及应用。arXiv 预印本 arXiv:1510.06567。

[8] M. Perrot, N. Courty, R. Flamary, A. Habrard (2016),离散最优传输的映射估计,神经信息处理系统 (NIPS)。

[9] Schmitzer, B. (2016)。熵正则化传输问题的稳定稀疏缩放算法。arXiv 预印本 arXiv:1610.06519。

[10] Chizat, L., Peyré, G., Schmitzer, B., & Vialard, FX (2016)。不平衡传输问题的缩放算法。arXiv 预印本 arXiv:1607.05816。

[11] Flamary, R., Cuturi, M., Courty, N., & Rakotomamonjy, A. (2016)。Wasserstein 判别分析。arXiv 预印本 arXiv:1608.08063。

[12] Gabriel Peyré、Marco Cuturi 和 Justin Solomon (2016),Gromov-Wasserstein 平均内核和距离矩阵 国际机器学习会议 (ICML)。

[13] 梅莫利,法昆多(2011 年)。Gromov–Wasserstein 距离和对象匹配的度量方法。计算数学基础 11.4:417-487。

[14] Knott, M. 和 Smith, CS (1984)。关于分布的最优映射,优化理论与应用杂志第 43 卷。

[15] Peyré, G. 和 Cuturi, M. (2018)。计算最优传输

[16] Agueh, M. 和 Carlier, G. (2011)。Wasserstein 空间中的重心。SIAM 数学分析杂志,43(2),904-924。

[17] Blondel, M., Seguy, V., & Rolet, A. (2018)。平滑和稀疏的最优传输。第二十届人工智能与统计国际会议 (AISTATS) 论文集。

[18] Genevay, A., Cuturi, M., Peyré, G. & Bach, F. (2016)大规模优化传输的随机优化。神经信息处理系统的进展(2016 年)。

[19] Seguy, V., Bhushan Damodaran, B., Flamary, R., Courty, N., Rolet, A.& Blondel, M.大规模最优传输和映射估计。学习代表国际会议(2018)

[20] Cuturi, M. 和 Doucet, A. (2014) Wasserstein 重心的快速计算。机器学习国际会议

[21] Solomon, J., De Goes, F., Peyré, G., Cuturi, M., Butscher, A., Nguyen, A. & Guibas, L. (2015)。卷积 wasserstein 距离:几何域上的有效最优传输。ACM 图形交易 (TOG),34(4),66。

[22] J. Altschuler, J.Weed, P. Rigollet,(2017)通过 Sinkhorn 迭代优化传输的近线性时间近似算法,神经信息处理系统 (NIPS) 的进展 31

[23] Aude, G., Peyré, G., Cuturi, M.,Learning Generative Models with Sinkhorn Divergences,第 20 届人工智能与统计国际会议论文集,(AISTATS)2018 年 21 月

[24] Vayer, T.、Chapel, L.、Flamary, R.、Tavenard, R. 和 Courty, N.(2019 年)。第 36 届机器学习国际会议 (ICML) 的图形应用程序的结构化数据的优化传输。

[25] Frogner C.、Zhang C.、Mobahi H.、Araya-Polo M.、Poggio T.(2015 年)。使用 Wasserstein 损失学习 神经信息处理系统 (NIPS) 的进展。

[26] Alaya MZ、Bérar M.、Gasso G.、Rakotomamonjy A.(2019 年)。Screening Sinkhorn Algorithm for Regularized Optimal Transport , Advances in Neural Information Processing Systems 33 (NeurIPS)。

[27] Redko I.、Courty N.、Flamary R.、Tuia D.(2019 年)。目标转移下多源域自适应的优化传输,第二十二届人工智能与统计国际会议论文集(AISTATS)22,2019。

[28] 卡法雷利,洛杉矶,麦肯,RJ(2010 年)。最优运输和 Monge-Ampere 障碍问题中的自由边界,数学年鉴,673-730。

[29] Chapel, L., Alaya, M., Gasso, G. (2020)。部分最优传输与正无标签学习的应用,神经信息处理系统(NeurIPS)的进展,2020。

[30] Flamary R.、Courty N.、Tuia D.、Rakotomamonjy A.(2014 年)。带有拉普拉斯正则化的最优传输:域适应和形状匹配的应用,NIPS 最优传输和机器学习 OTML 研讨会,2014 年。

[31] Bonneel、尼古拉斯等人。切片和氡 wasserstein 测量重心,数学成像和视觉杂志 51.1 (2015): 22-45

[32] Huang, M., Ma S., Lai, L. (2021)。用于计算投影鲁棒 Wasserstein 距离的黎曼块坐标下降方法,第 38 届机器学习国际会议 (ICML) 论文集。

[33] Kerdoncuff T.、Emonet R.、Marc S. Sampled Gromov Wasserstein,机器学习期刊 (MJL),2021

[34] Feydy, J., Séjourné, T., Vialard, FX, Amari, SI, Trouvé, A., & Peyré, G.(2019 年 4 月)。使用 Sinkhorn 散度在最优传输和 MMD 之间进行插值。在第 22 届人工智能与统计国际会议上(第 2681-2690 页)。PMLR。

[35] Deshpande, I., Hu, YT, Sun, R., Pyrros, A., Siddiqui, N., Koyejo, S., ... & Schwing, AG (2019)。最大切片 wasserstein 距离及其在 gans 中的用途。在 IEEE/CVF 计算机视觉和模式识别会议论文集中(第 10648-10656 页)。

[36] Liutkus, A.、Simsekli, U.、Majewski, S.、Durmus, A. 和 Stöter, FR(2019 年 5 月)。Sliced-Wasserstein 流:通过最优传输和扩散的非参数生成建模。在机器学习国际会议上(第 4104-4113 页)。PMLR。

[37] Janati, H., Cuturi, M., Gramfort, A. Debiased sinkhorn barycenters Proceedings of the 37th International Conference on Machine Learning, PMLR 119:4692-4701, 2020

[38] C. Vincent-Cuaz、T. Vayer、R. Flamary、M. Corneli、N. Courty,在线图词典学习,国际机器学习会议 (ICML),2021 年。

[39] Gozlan, N., Roberto, C., Samson, PM 和 Tetali, P. (2017)。一般运输成本和应用的 Kantorovich 对偶性。功能分析杂志,273(11),3327-3405。

[40] Forrow, A.、Hütter, JC、Nitzan, M.、Rigollet, P.、Schiebinger, G. 和 Weed, J.(2019 年 4 月)。通过因子耦合的统计最优传输。在第 22 届人工智能与统计国际会议上(第 2454-2465 页)。PMLR。

[41] Chapel*, L., Flamary*, R., Wu, H., Févotte, C., Gasso, G. (2021)。通过神经信息处理系统 (NeurIPS) 中的非负惩罚线性回归取得的不平衡优化传输,2020 年。(两位第一合著者)