-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
492 lines (454 loc) · 53.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>POT: Python Optimal Transport — POT Python Optimal Transport 0.9.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery.css?v=d2d258e8" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-binder.css?v=f4aeca0c" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-dataframe.css?v=2082cf3c" />
<link rel="stylesheet" type="text/css" href="_static/sg_gallery-rendered-html.css?v=1277b6f3" />
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=61b282d3"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Quick start guide" href="quickstart.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="#" class="icon icon-home">
POT Python Optimal Transport
<img src="_static/logo_dark.svg" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">POT: Python Optimal Transport</a></li>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quick start guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="all.html">API and modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="auto_examples/index.html">Examples gallery</a></li>
<li class="toctree-l1"><a class="reference internal" href="releases.html">Releases</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributors.html">Contributors</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to POT</a></li>
<li class="toctree-l1"><a class="reference internal" href="code_of_conduct.html">Code of conduct</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="#">POT Python Optimal Transport</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="#" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">POT: Python Optimal Transport</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="pot-python-optimal-transport">
<h1>POT: Python Optimal Transport<a class="headerlink" href="#pot-python-optimal-transport" title="Link to this heading"></a></h1>
<a class="reference internal image-reference" href="_images/logo.svg"><img alt="POT Logo" src="_images/logo.svg" style="width: 400px;" />
</a>
<section id="contents">
<h2>Contents<a class="headerlink" href="#contents" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">POT: Python Optimal Transport</a></li>
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quick start guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="all.html">API and modules</a></li>
<li class="toctree-l1"><a class="reference internal" href="auto_examples/index.html">Examples gallery</a></li>
<li class="toctree-l1"><a class="reference internal" href="releases.html">Releases</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributors.html">Contributors</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to POT</a></li>
<li class="toctree-l1"><a class="reference internal" href="code_of_conduct.html">Code of conduct</a></li>
</ul>
</div>
<section id="pot-python-optimal-transport">
<h3>POT: Python Optimal Transport<a class="headerlink" href="#pot-python-optimal-transport" title="Link to this heading"></a></h3>
<p><a class="reference external" href="https://badge.fury.io/py/POT"><img alt="PyPI version" src="https://badge.fury.io/py/POT.svg" /></a>
<a class="reference external" href="https://anaconda.org/conda-forge/pot"><img alt="Anaconda Cloud" src="https://anaconda.org/conda-forge/pot/badges/version.svg" /></a>
<a class="reference external" href="https://github.com/PythonOT/POT/actions"><img alt="Build Status" src="https://github.com/PythonOT/POT/actions/workflows/build_tests.yml/badge.svg" /></a>
<a class="reference external" href="https://codecov.io/gh/PythonOT/POT"><img alt="Codecov Status" src="https://codecov.io/gh/PythonOT/POT/branch/master/graph/badge.svg" /></a>
<a class="reference external" href="https://pepy.tech/project/pot"><img alt="Downloads" src="https://static.pepy.tech/badge/pot" /></a>
<a class="reference external" href="https://anaconda.org/conda-forge/pot"><img alt="Anaconda downloads" src="https://anaconda.org/conda-forge/pot/badges/downloads.svg" /></a>
<a class="reference external" href="https://github.com/PythonOT/POT/blob/master/LICENSE"><img alt="License" src="https://anaconda.org/conda-forge/pot/badges/license.svg" /></a></p>
<p>This open source Python library provides several solvers for optimization
problems related to Optimal Transport for signal, image processing and machine
learning.</p>
<p>Website and documentation: <a class="reference external" href="https://PythonOT.github.io/">https://PythonOT.github.io/</a></p>
<p>Source Code (MIT): <a class="reference external" href="https://github.com/PythonOT/POT">https://github.com/PythonOT/POT</a></p>
<p>POT provides the following generic OT solvers (links to examples):</p>
<ul class="simple">
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/plot_OT_1D.html">OT Network Simplex solver</a> for the linear program/ Earth Movers Distance [1] .</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/plot_optim_OTreg.html">Conditional gradient</a> [6] and <a class="reference external" href="https://pythonot.github.io/auto_examples/plot_optim_OTreg.html">Generalized conditional gradient</a> for regularized OT [7].</p></li>
<li><p>Entropic regularization OT solver with <a class="reference external" href="https://pythonot.github.io/auto_examples/plot_OT_1D.html">Sinkhorn Knopp
Algorithm</a> [2] ,
stabilized version [9] [10] [34], lazy CPU/GPU solver from geomloss [60] [61], greedy Sinkhorn [22] and <a class="reference external" href="https://pythonot.github.io/auto_examples/plot_screenkhorn_1D.html">Screening
Sinkhorn [26]
</a>.</p></li>
<li><p>Bregman projections for <a class="reference external" href="https://pythonot.github.io/auto_examples/barycenters/plot_barycenter_lp_vs_entropic.html">Wasserstein barycenter</a> [3], <a class="reference external" href="https://pythonot.github.io/auto_examples/barycenters/plot_convolutional_barycenter.html">convolutional barycenter</a> [21] and unmixing [4].</p></li>
<li><p>Sinkhorn divergence [23] and entropic regularization OT from empirical data.</p></li>
<li><p>Debiased Sinkhorn barycenters <a class="reference external" href="https://pythonot.github.io/auto_examples/barycenters/plot_debiased_barycenter.html">Sinkhorn divergence barycenter</a> [37]</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/plot_OT_1D_smooth.html">Smooth optimal transport solvers</a> (dual and semi-dual) for KL and squared L2 regularizations [17].</p></li>
<li><p>Weak OT solver between empirical distributions [39]</p></li>
<li><p>Non regularized <a class="reference external" href="https://pythonot.github.io/auto_examples/barycenters/plot_barycenter_lp_vs_entropic.html">Wasserstein barycenters [16] </a> with LP solver (only small scale).</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_gromov.html">Gromov-Wasserstein distances</a> and <a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_gromov_barycenter.html">GW barycenters</a> (exact [13] and regularized [12,51]), differentiable using gradients from Graph Dictionary Learning [38]</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_fgw.html#sphx-glr-auto-examples-plot-fgw-py">Fused-Gromov-Wasserstein distances solver</a> and <a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_barycenter_fgw.html">FGW barycenters</a> (exact [24] and regularized [12,51]).</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/others/plot_stochastic.html">Stochastic
solver</a> and
<a class="reference external" href="https://pythonot.github.io/auto_examples/backends/plot_stoch_continuous_ot_pytorch.html">differentiable losses</a> for
Large-scale Optimal Transport (semi-dual problem [18] and dual problem [19])</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_gromov.html">Sampled solver of Gromov Wasserstein</a> for large-scale problem with any loss functions [33]</p></li>
<li><p>Non regularized <a class="reference external" href="https://pythonot.github.io/auto_examples/barycenters/plot_free_support_barycenter.html">free support Wasserstein barycenters</a> [20].</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/unbalanced-partial/plot_UOT_1D.html">One dimensional Unbalanced OT</a> with KL relaxation and <a class="reference external" href="https://pythonot.github.io/auto_examples/unbalanced-partial/plot_UOT_barycenter_1D.html">barycenter</a> [10, 25]. Also <a class="reference external" href="https://pythonot.github.io/auto_examples/unbalanced-partial/plot_unbalanced_ot.html">exact unbalanced OT</a> with KL and quadratic regularization and the <a class="reference external" href="https://pythonot.github.io/auto_examples/unbalanced-partial/plot_regpath.html">regularization path of UOT</a> [41]</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/unbalanced-partial/plot_partial_wass_and_gromov.html">Partial Wasserstein and Gromov-Wasserstein</a> (exact [29] and entropic [3]
formulations).</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/sliced-wasserstein/plot_variance.html">Sliced Wasserstein</a> [31, 32] and Max-sliced Wasserstein [35] that can be used for gradient flows [36].</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/plot_compute_wasserstein_circle.html">Wasserstein distance on the circle</a> [44, 45]</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/sliced-wasserstein/plot_variance_ssw.html">Spherical Sliced Wasserstein</a> [46]</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_gromov_wasserstein_dictionary_learning.html">Graph Dictionary Learning solvers</a> [38].</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_semirelaxed_fgw.html">Semi-relaxed (Fused) Gromov-Wasserstein divergences</a> with corresponding <a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_semirelaxed_gromov_wasserstein_barycenter.hmtl">barycenter solvers</a> (exact and regularized [48]).</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_quantized_gromov_wasserstein.html">Quantized (Fused) Gromov-Wasserstein distances</a> [68].</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/others/plot_demd_gradient_minimize.html">Efficient Discrete Multi Marginal Optimal Transport Regularization</a> [50].</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/quickstart.html#solving-ot-with-multiple-backends">Several backends</a> for easy use of POT with <a class="reference external" href="https://pytorch.org/">Pytorch</a>/<a class="reference external" href="https://github.com/google/jax">jax</a>/<a class="reference external" href="https://numpy.org/">Numpy</a>/<a class="reference external" href="https://cupy.dev/">Cupy</a>/<a class="reference external" href="https://www.tensorflow.org/">Tensorflow</a> arrays.</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/others/plot_SSNB.html#sphx-glr-auto-examples-others-plot-ssnb-py">Smooth Strongly Convex Nearest Brenier Potentials</a> [58], with an extension to bounding potentials using [59].</p></li>
<li><p>Gaussian Mixture Model OT [69]</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/others/plot_COOT.html">Co-Optimal Transport</a> [49] and
<a class="reference external" href="https://pythonot.github.io/auto_examples/others/plot_learning_weights_with_COOT.html">unbalanced Co-Optimal Transport</a> [71].</p></li>
<li><p>Fused unbalanced Gromov-Wasserstein [70].</p></li>
</ul>
<p>POT provides the following Machine Learning related solvers:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_classes.html">Optimal transport for domain
adaptation</a>
with <a class="reference external" href="https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_classes.html">group lasso regularization</a>, <a class="reference external" href="https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_laplacian.html">Laplacian regularization</a> [5] [30] and <a class="reference external" href="https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_semi_supervised.html">semi
supervised setting</a>.</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_linear_mapping.html">Linear OT mapping</a> [14] and <a class="reference external" href="https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_mapping.html">Joint OT mapping estimation</a> [8].</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/others/plot_WDA.html">Wasserstein Discriminant Analysis</a> [11] (requires autograd + pymanopt).</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_jcpot.html">JCPOT algorithm for multi-source domain adaptation with target shift</a> [27].</p></li>
<li><p><a class="reference external" href="https://pythonot.github.io/auto_examples/gromov/plot_gnn_TFGW.html">Graph Neural Network OT layers TFGW</a> [52] and TW (OT-GNN) [53]</p></li>
</ul>
<p>Some other examples are available in the <a class="reference external" href="https://pythonot.github.io/auto_examples/index.html">documentation</a>.</p>
<section id="using-and-citing-the-toolbox">
<h4>Using and citing the toolbox<a class="headerlink" href="#using-and-citing-the-toolbox" title="Link to this heading"></a></h4>
<p>If you use this toolbox in your research and find it useful, please cite POT
using the following reference from our <a class="reference external" href="https://jmlr.org/papers/v22/20-451.html">JMLR paper</a>:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>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/
</pre></div>
</div>
<p>In Bibtex format:</p>
<div class="highlight-bibtex notranslate"><div class="highlight"><pre><span></span><span class="nc">@article</span><span class="p">{</span><span class="nl">flamary2021pot</span><span class="p">,</span>
<span class="w"> </span><span class="na">author</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{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}</span><span class="p">,</span>
<span class="w"> </span><span class="na">title</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{POT: Python Optimal Transport}</span><span class="p">,</span>
<span class="w"> </span><span class="na">journal</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{Journal of Machine Learning Research}</span><span class="p">,</span>
<span class="w"> </span><span class="na">year</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{2021}</span><span class="p">,</span>
<span class="w"> </span><span class="na">volume</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{22}</span><span class="p">,</span>
<span class="w"> </span><span class="na">number</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{78}</span><span class="p">,</span>
<span class="w"> </span><span class="na">pages</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{1-8}</span><span class="p">,</span>
<span class="w"> </span><span class="na">url</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{http://jmlr.org/papers/v22/20-451.html}</span>
<span class="p">}</span>
</pre></div>
</div>
</section>
<section id="installation">
<h4>Installation<a class="headerlink" href="#installation" title="Link to this heading"></a></h4>
<p>The library has been tested on Linux, MacOSX and Windows. It requires a C++ compiler for building/installing the EMD solver and relies on the following Python modules:</p>
<ul class="simple">
<li><p>Numpy (>=1.16)</p></li>
<li><p>Scipy (>=1.0)</p></li>
<li><p>Cython (>=0.23) (build only, not necessary when installing from pip or conda)</p></li>
</ul>
<section id="pip-installation">
<h5>Pip installation<a class="headerlink" href="#pip-installation" title="Link to this heading"></a></h5>
<p>You can install the toolbox through PyPI with:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pip install POT</span>
</pre></div>
</div>
<p>or get the very latest version by running:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pip install -U https://github.com/PythonOT/POT/archive/master.zip # with --user for user install (no root)</span>
</pre></div>
</div>
<p>Optional dependencies may be installed with</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">pip install POT[all]</span>
</pre></div>
</div>
<p>Note that this installs <code class="docutils literal notranslate"><span class="pre">cvxopt</span></code>, which is licensed under GPL 3.0. Alternatively, if you cannot use GPL-licensed software, the specific optional dependencies may be installed individually, or per-submodule. The available optional installations are <code class="docutils literal notranslate"><span class="pre">backend-jax,</span> <span class="pre">backend-tf,</span> <span class="pre">backend-torch,</span> <span class="pre">cvxopt,</span> <span class="pre">dr,</span> <span class="pre">gnn,</span> <span class="pre">all</span></code>.</p>
</section>
<section id="anaconda-installation-with-conda-forge">
<h5>Anaconda installation with conda-forge<a class="headerlink" href="#anaconda-installation-with-conda-forge" title="Link to this heading"></a></h5>
<p>If you use the Anaconda python distribution, POT is available in <a class="reference external" href="https://conda-forge.org">conda-forge</a>. To install it and the required dependencies:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">conda install -c conda-forge pot</span>
</pre></div>
</div>
</section>
<section id="post-installation-check">
<h5>Post installation check<a class="headerlink" href="#post-installation-check" title="Link to this heading"></a></h5>
<p>After a correct installation, you should be able to import the module without errors:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">ot</span>
</pre></div>
</div>
<p>Note that for easier access the module is named <code class="docutils literal notranslate"><span class="pre">ot</span></code> instead of <code class="docutils literal notranslate"><span class="pre">pot</span></code>.</p>
</section>
<section id="dependencies">
<h5>Dependencies<a class="headerlink" href="#dependencies" title="Link to this heading"></a></h5>
<p>Some sub-modules require additional dependencies which are discussed below</p>
<ul class="simple">
<li><p><strong>ot.dr</strong> (Wasserstein dimensionality reduction) depends on autograd and pymanopt that can be installed with:</p></li>
</ul>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span>pymanopt<span class="w"> </span>autograd
</pre></div>
</div>
</section>
</section>
<section id="examples">
<h4>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h4>
<section id="short-examples">
<h5>Short examples<a class="headerlink" href="#short-examples" title="Link to this heading"></a></h5>
<ul class="simple">
<li><p>Import the toolbox</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">ot</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Compute Wasserstein distances</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># a,b are 1D histograms (sum to 1 and positive)</span>
<span class="c1"># M is the ground cost matrix</span>
<span class="n">Wd</span> <span class="o">=</span> <span class="n">ot</span><span class="o">.</span><span class="n">emd2</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">M</span><span class="p">)</span> <span class="c1"># exact linear program</span>
<span class="n">Wd_reg</span> <span class="o">=</span> <span class="n">ot</span><span class="o">.</span><span class="n">sinkhorn2</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">M</span><span class="p">,</span> <span class="n">reg</span><span class="p">)</span> <span class="c1"># entropic regularized OT</span>
<span class="c1"># if b is a matrix compute all distances to a and return a vector</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Compute OT matrix</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># a,b are 1D histograms (sum to 1 and positive)</span>
<span class="c1"># M is the ground cost matrix</span>
<span class="n">T</span> <span class="o">=</span> <span class="n">ot</span><span class="o">.</span><span class="n">emd</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">M</span><span class="p">)</span> <span class="c1"># exact linear program</span>
<span class="n">T_reg</span> <span class="o">=</span> <span class="n">ot</span><span class="o">.</span><span class="n">sinkhorn</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">M</span><span class="p">,</span> <span class="n">reg</span><span class="p">)</span> <span class="c1"># entropic regularized OT</span>
</pre></div>
</div>
<ul class="simple">
<li><p>Compute Wasserstein barycenter</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># A is a n*d matrix containing d 1D histograms</span>
<span class="c1"># M is the ground cost matrix</span>
<span class="n">ba</span> <span class="o">=</span> <span class="n">ot</span><span class="o">.</span><span class="n">barycenter</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">M</span><span class="p">,</span> <span class="n">reg</span><span class="p">)</span> <span class="c1"># reg is regularization parameter</span>
</pre></div>
</div>
</section>
<section id="examples-and-notebooks">
<h5>Examples and Notebooks<a class="headerlink" href="#examples-and-notebooks" title="Link to this heading"></a></h5>
<p>The examples folder contain several examples and use case for the library. The full documentation with examples and output is available on <a class="reference external" href="https://PythonOT.github.io/">https://PythonOT.github.io/</a>.</p>
</section>
</section>
<section id="acknowledgements">
<h4>Acknowledgements<a class="headerlink" href="#acknowledgements" title="Link to this heading"></a></h4>
<p>This toolbox has been created by</p>
<ul class="simple">
<li><p><a class="reference external" href="https://remi.flamary.com/">Rémi Flamary</a></p></li>
<li><p><a class="reference external" href="http://people.irisa.fr/Nicolas.Courty/">Nicolas Courty</a></p></li>
</ul>
<p>It is currently maintained by</p>
<ul class="simple">
<li><p><a class="reference external" href="https://remi.flamary.com/">Rémi Flamary</a></p></li>
<li><p><a class="reference external" href="https://cedricvincentcuaz.github.io/">Cédric Vincent-Cuaz</a></p></li>
</ul>
<p>The numerous contributors to this library are listed <a class="reference internal" href="#CONTRIBUTORS.md"><span class="xref myst">here</span></a>.</p>
<p>POT has benefited from the financing or manpower from the following partners:</p>
<p><img src="https://pythonot.github.io/master/_static/images/logo_anr.jpg" alt="ANR" style="height:60px;"/><img src="https://pythonot.github.io/master/_static/images/logo_cnrs.jpg" alt="CNRS" style="height:60px;"/><img src="https://pythonot.github.io/master/_static/images/logo_3ia.jpg" alt="3IA" style="height:60px;"/><img src="https://pythonot.github.io/master/_static/images/logo_hiparis.png" alt="Hi!PARIS" style="height:60px;"/></p>
</section>
<section id="contributions-and-code-of-conduct">
<h4>Contributions and code of conduct<a class="headerlink" href="#contributions-and-code-of-conduct" title="Link to this heading"></a></h4>
<p>Every contribution is welcome and should respect the <a class="reference external" href="https://pythonot.github.io/master/contributing.html">contribution guidelines</a>. Each member of the project is expected to follow the <a class="reference external" href="https://pythonot.github.io/master/code_of_conduct.html">code of conduct</a>.</p>
</section>
<section id="support">
<h4>Support<a class="headerlink" href="#support" title="Link to this heading"></a></h4>
<p>You can ask questions and join the development discussion:</p>
<ul class="simple">
<li><p>On the POT <a class="reference external" href="https://pot-toolbox.slack.com">slack channel</a></p></li>
<li><p>On the POT <a class="reference external" href="https://gitter.im/PythonOT/community">gitter channel</a></p></li>
<li><p>On the POT <a class="reference external" href="https://mail.python.org/mm3/mailman3/lists/pot.python.org/">mailing list</a></p></li>
</ul>
<p>You can also post bug reports and feature requests in Github issues. Make sure to read our <a class="reference internal" href="#.github/CONTRIBUTING.md"><span class="xref myst">guidelines</span></a> first.</p>
</section>
<section id="references">
<h4>References<a class="headerlink" href="#references" title="Link to this heading"></a></h4>
<p>[1] Bonneel, N., Van De Panne, M., Paris, S., & Heidrich, W. (2011, December). <a class="reference external" href="https://people.csail.mit.edu/sparis/publi/2011/sigasia/Bonneel_11_Displacement_Interpolation.pdf">Displacement interpolation using Lagrangian mass transport</a>. In ACM Transactions on Graphics (TOG) (Vol. 30, No. 6, p. 158). ACM.</p>
<p>[2] Cuturi, M. (2013). <a class="reference external" href="https://arxiv.org/pdf/1306.0895.pdf">Sinkhorn distances: Lightspeed computation of optimal transport</a>. In Advances in Neural Information Processing Systems (pp. 2292-2300).</p>
<p>[3] Benamou, J. D., Carlier, G., Cuturi, M., Nenna, L., & Peyré, G. (2015). <a class="reference external" href="https://arxiv.org/pdf/1412.5154.pdf">Iterative Bregman projections for regularized transportation problems</a>. SIAM Journal on Scientific Computing, 37(2), A1111-A1138.</p>
<p>[4] S. Nakhostin, N. Courty, R. Flamary, D. Tuia, T. Corpetti, <a class="reference external" href="https://hal.archives-ouvertes.fr/hal-01377236/document">Supervised planetary unmixing with optimal transport</a>, Workshop on Hyperspectral Image and Signal Processing : Evolution in Remote Sensing (WHISPERS), 2016.</p>
<p>[5] N. Courty; R. Flamary; D. Tuia; A. Rakotomamonjy, <a class="reference external" href="https://arxiv.org/pdf/1507.00504.pdf">Optimal Transport for Domain Adaptation</a>, in IEEE Transactions on Pattern Analysis and Machine Intelligence , vol.PP, no.99, pp.1-1</p>
<p>[6] Ferradans, S., Papadakis, N., Peyré, G., & Aujol, J. F. (2014). <a class="reference external" href="https://arxiv.org/pdf/1307.5551.pdf">Regularized discrete optimal transport</a>. SIAM Journal on Imaging Sciences, 7(3), 1853-1882.</p>
<p>[7] Rakotomamonjy, A., Flamary, R., & Courty, N. (2015). <a class="reference external" href="https://arxiv.org/pdf/1510.06567.pdf">Generalized conditional gradient: analysis of convergence and applications</a>. arXiv preprint arXiv:1510.06567.</p>
<p>[8] M. Perrot, N. Courty, R. Flamary, A. Habrard (2016), <a class="reference external" href="http://remi.flamary.com/biblio/perrot2016mapping.pdf">Mapping estimation for discrete optimal transport</a>, Neural Information Processing Systems (NIPS).</p>
<p>[9] Schmitzer, B. (2016). <a class="reference external" href="https://arxiv.org/pdf/1610.06519.pdf">Stabilized Sparse Scaling Algorithms for Entropy Regularized Transport Problems</a>. arXiv preprint arXiv:1610.06519.</p>
<p>[10] Chizat, L., Peyré, G., Schmitzer, B., & Vialard, F. X. (2016). <a class="reference external" href="https://arxiv.org/pdf/1607.05816.pdf">Scaling algorithms for unbalanced transport problems</a>. arXiv preprint arXiv:1607.05816.</p>
<p>[11] Flamary, R., Cuturi, M., Courty, N., & Rakotomamonjy, A. (2016). <a class="reference external" href="https://arxiv.org/pdf/1608.08063.pdf">Wasserstein Discriminant Analysis</a>. arXiv preprint arXiv:1608.08063.</p>
<p>[12] Gabriel Peyré, Marco Cuturi, and Justin Solomon (2016), <a class="reference external" href="http://proceedings.mlr.press/v48/peyre16.html">Gromov-Wasserstein averaging of kernel and distance matrices</a> International Conference on Machine Learning (ICML).</p>
<p>[13] Mémoli, Facundo (2011). <a class="reference external" href="https://media.adelaide.edu.au/acvt/Publications/2011/2011-Gromov%E2%80%93Wasserstein%20Distances%20and%20the%20Metric%20Approach%20to%20Object%20Matching.pdf">Gromov–Wasserstein distances and the metric approach to object matching</a>. Foundations of computational mathematics 11.4 : 417-487.</p>
<p>[14] Knott, M. and Smith, C. S. (1984).<a class="reference external" href="https://link.springer.com/article/10.1007/BF00934745">On the optimal mapping of distributions</a>, Journal of Optimization Theory and Applications Vol 43.</p>
<p>[15] Peyré, G., & Cuturi, M. (2018). <a class="reference external" href="https://arxiv.org/pdf/1803.00567.pdf">Computational Optimal Transport</a> .</p>
<p>[16] Agueh, M., & Carlier, G. (2011). <a class="reference external" href="https://hal.archives-ouvertes.fr/hal-00637399/document">Barycenters in the Wasserstein space</a>. SIAM Journal on Mathematical Analysis, 43(2), 904-924.</p>
<p>[17] Blondel, M., Seguy, V., & Rolet, A. (2018). <a class="reference external" href="https://arxiv.org/abs/1710.06276">Smooth and Sparse Optimal Transport</a>. Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics (AISTATS).</p>
<p>[18] Genevay, A., Cuturi, M., Peyré, G. & Bach, F. (2016) <a class="reference external" href="https://arxiv.org/abs/1605.08527">Stochastic Optimization for Large-scale Optimal Transport</a>. Advances in Neural Information Processing Systems (2016).</p>
<p>[19] Seguy, V., Bhushan Damodaran, B., Flamary, R., Courty, N., Rolet, A.& Blondel, M. <a class="reference external" href="https://arxiv.org/pdf/1711.02283.pdf">Large-scale Optimal Transport and Mapping Estimation</a>. International Conference on Learning Representation (2018)</p>
<p>[20] Cuturi, M. and Doucet, A. (2014) <a class="reference external" href="http://proceedings.mlr.press/v32/cuturi14.html">Fast Computation of Wasserstein Barycenters</a>. International Conference in Machine Learning</p>
<p>[21] Solomon, J., De Goes, F., Peyré, G., Cuturi, M., Butscher, A., Nguyen, A. & Guibas, L. (2015). <a class="reference external" href="https://dl.acm.org/citation.cfm?id=2766963">Convolutional wasserstein distances: Efficient optimal transportation on geometric domains</a>. ACM Transactions on Graphics (TOG), 34(4), 66.</p>
<p>[22] J. Altschuler, J.Weed, P. Rigollet, (2017) <a class="reference external" href="https://papers.nips.cc/paper/6792-near-linear-time-approximation-algorithms-for-optimal-transport-via-sinkhorn-iteration.pdf">Near-linear time approximation algorithms for optimal transport via Sinkhorn iteration</a>, Advances in Neural Information Processing Systems (NIPS) 31</p>
<p>[23] Aude, G., Peyré, G., Cuturi, M., <a class="reference external" href="https://arxiv.org/abs/1706.00292">Learning Generative Models with Sinkhorn Divergences</a>, Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics, (AISTATS) 21, 2018</p>
<p>[24] Vayer, T., Chapel, L., Flamary, R., Tavenard, R. and Courty, N. (2019). <a class="reference external" href="http://proceedings.mlr.press/v97/titouan19a.html">Optimal Transport for structured data with application on graphs</a> Proceedings of the 36th International Conference on Machine Learning (ICML).</p>
<p>[25] Frogner C., Zhang C., Mobahi H., Araya-Polo M., Poggio T. (2015). <a class="reference external" href="http://cbcl.mit.edu/wasserstein/">Learning with a Wasserstein Loss</a> Advances in Neural Information Processing Systems (NIPS).</p>
<p>[26] Alaya M. Z., Bérar M., Gasso G., Rakotomamonjy A. (2019). <a class="reference external" href="https://papers.nips.cc/paper/9386-screening-sinkhorn-algorithm-for-regularized-optimal-transport">Screening Sinkhorn Algorithm for Regularized Optimal Transport</a>, Advances in Neural Information Processing Systems 33 (NeurIPS).</p>
<p>[27] Redko I., Courty N., Flamary R., Tuia D. (2019). <a class="reference external" href="http://proceedings.mlr.press/v89/redko19a.html">Optimal Transport for Multi-source Domain Adaptation under Target Shift</a>, Proceedings of the Twenty-Second International Conference on Artificial Intelligence and Statistics (AISTATS) 22, 2019.</p>
<p>[28] Caffarelli, L. A., McCann, R. J. (2010). <a class="reference external" href="http://www.math.toronto.edu/~mccann/papers/annals2010.pdf">Free boundaries in optimal transport and Monge-Ampere obstacle problems</a>, Annals of mathematics, 673-730.</p>
<p>[29] Chapel, L., Alaya, M., Gasso, G. (2020). <a class="reference external" href="https://arxiv.org/abs/2002.08276">Partial Optimal Transport with Applications on Positive-Unlabeled Learning</a>, Advances in Neural Information Processing Systems (NeurIPS), 2020.</p>
<p>[30] Flamary R., Courty N., Tuia D., Rakotomamonjy A. (2014). <a class="reference external" href="https://remi.flamary.com/biblio/flamary2014optlaplace.pdf">Optimal transport with Laplacian regularization: Applications to domain adaptation and shape matching</a>, NIPS Workshop on Optimal Transport and Machine Learning OTML, 2014.</p>
<p>[31] Bonneel, Nicolas, et al. <a class="reference external" href="https://perso.liris.cnrs.fr/nicolas.bonneel/WassersteinSliced-JMIV.pdf">Sliced and radon wasserstein barycenters of measures</a>, Journal of Mathematical Imaging and Vision 51.1 (2015): 22-45</p>
<p>[32] Huang, M., Ma S., Lai, L. (2021). <a class="reference external" href="http://proceedings.mlr.press/v139/huang21e.html">A Riemannian Block Coordinate Descent Method for Computing the Projection Robust Wasserstein Distance</a>, Proceedings of the 38th International Conference on Machine Learning (ICML).</p>
<p>[33] Kerdoncuff T., Emonet R., Marc S. <a class="reference external" href="https://hal.archives-ouvertes.fr/hal-03232509/document">Sampled Gromov Wasserstein</a>, Machine Learning Journal (MJL), 2021</p>
<p>[34] Feydy, J., Séjourné, T., Vialard, F. X., Amari, S. I., Trouvé, A., & Peyré, G. (2019, April). <a class="reference external" href="http://proceedings.mlr.press/v89/feydy19a/feydy19a.pdf">Interpolating between optimal transport and MMD using Sinkhorn divergences</a>. In The 22nd International Conference on Artificial Intelligence and Statistics (pp. 2681-2690). PMLR.</p>
<p>[35] Deshpande, I., Hu, Y. T., Sun, R., Pyrros, A., Siddiqui, N., Koyejo, S., … & Schwing, A. G. (2019). <a class="reference external" href="https://openaccess.thecvf.com/content_CVPR_2019/papers/Deshpande_Max-Sliced_Wasserstein_Distance_and_Its_Use_for_GANs_CVPR_2019_paper.pdf">Max-sliced wasserstein distance and its use for gans</a>. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 10648-10656).</p>
<p>[36] Liutkus, A., Simsekli, U., Majewski, S., Durmus, A., & Stöter, F. R.
(2019, May). <a class="reference external" href="http://proceedings.mlr.press/v97/liutkus19a/liutkus19a.pdf">Sliced-Wasserstein flows: Nonparametric generative modeling
via optimal transport and diffusions</a>. In International Conference on
Machine Learning (pp. 4104-4113). PMLR.</p>
<p>[37] Janati, H., Cuturi, M., Gramfort, A. <a class="reference external" href="http://proceedings.mlr.press/v119/janati20a/janati20a.pdf">Debiased sinkhorn barycenters</a> Proceedings of the 37th International
Conference on Machine Learning, PMLR 119:4692-4701, 2020</p>
<p>[38] C. Vincent-Cuaz, T. Vayer, R. Flamary, M. Corneli, N. Courty, <a class="reference external" href="https://arxiv.org/pdf/2102.06555.pdf">Online Graph
Dictionary Learning</a>, International Conference on Machine Learning (ICML), 2021.</p>
<p>[39] Gozlan, N., Roberto, C., Samson, P. M., & Tetali, P. (2017). <a class="reference external" href="https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.712.1825&amp;rep=rep1&amp;type=pdf">Kantorovich duality for general transport costs and applications</a>. Journal of Functional Analysis, 273(11), 3327-3405.</p>
<p>[40] Forrow, A., Hütter, J. C., Nitzan, M., Rigollet, P., Schiebinger, G., & Weed, J. (2019, April). <a class="reference external" href="http://proceedings.mlr.press/v89/forrow19a/forrow19a.pdf">Statistical optimal transport via factored couplings</a>. In The 22nd International Conference on Artificial Intelligence and Statistics (pp. 2454-2465). PMLR.</p>
<p>[41] Chapel*, L., Flamary*, R., Wu, H., Févotte, C., Gasso, G. (2021). <a class="reference external" href="https://proceedings.neurips.cc/paper/2021/file/c3c617a9b80b3ae1ebd868b0017cc349-Paper.pdf">Unbalanced Optimal Transport through Non-negative Penalized Linear Regression</a> Advances in Neural Information Processing Systems (NeurIPS), 2020. (Two first co-authors)</p>
<p>[42] Delon, J., Gozlan, N., and Saint-Dizier, A. <a class="reference external" href="https://arxiv.org/pdf/2105.09755">Generalized Wasserstein barycenters between probability measures living on different subspaces</a>. arXiv preprint arXiv:2105.09755, 2021.</p>
<p>[43] Álvarez-Esteban, Pedro C., et al. <a class="reference external" href="https://arxiv.org/pdf/1511.05355.pdf">A fixed-point approach to barycenters in Wasserstein space.</a> Journal of Mathematical Analysis and Applications 441.2 (2016): 744-762.</p>
<p>[44] Delon, Julie, Julien Salomon, and Andrei Sobolevski. <a class="reference external" href="https://arxiv.org/abs/0902.3527">Fast transport optimization for Monge costs on the circle.</a> SIAM Journal on Applied Mathematics 70.7 (2010): 2239-2258.</p>
<p>[45] Hundrieser, Shayan, Marcel Klatt, and Axel Munk. <a class="reference external" href="https://arxiv.org/abs/2103.15426">The statistics of circular optimal transport.</a> Directional Statistics for Innovative Applications: A Bicentennial Tribute to Florence Nightingale. Singapore: Springer Nature Singapore, 2022. 57-82.</p>
<p>[46] Bonet, C., Berg, P., Courty, N., Septier, F., Drumetz, L., & Pham, M. T. (2023). <a class="reference external" href="https://openreview.net/forum?id=jXQ0ipgMdU">Spherical Sliced-Wasserstein</a>. International Conference on Learning Representations.</p>
<p>[47] Chowdhury, S., & Mémoli, F. (2019). <a class="reference external" href="https://academic.oup.com/imaiai/article/8/4/757/5627736">The gromov–wasserstein distance between networks and stable network invariants</a>. Information and Inference: A Journal of the IMA, 8(4), 757-787.</p>
<p>[48] Cédric Vincent-Cuaz, Rémi Flamary, Marco Corneli, Titouan Vayer, Nicolas Courty (2022). <a class="reference external" href="https://openreview.net/pdf?id=RShaMexjc-x">Semi-relaxed Gromov-Wasserstein divergence and applications on graphs</a>. International Conference on Learning Representations (ICLR), 2022.</p>
<p>[49] Redko, I., Vayer, T., Flamary, R., and Courty, N. (2020). <a class="reference external" href="https://proceedings.neurips.cc/paper/2020/file/cc384c68ad503482fb24e6d1e3b512ae-Paper.pdf">CO-Optimal Transport</a>. Advances in Neural Information Processing Systems, 33.</p>
<p>[50] Liu, T., Puigcerver, J., & Blondel, M. (2023). <a class="reference external" href="https://openreview.net/forum?id=yHY9NbQJ5BP">Sparsity-constrained optimal transport</a>. Proceedings of the Eleventh International Conference on Learning Representations (ICLR).</p>
<p>[51] Xu, H., Luo, D., Zha, H., & Duke, L. C. (2019). <a class="reference external" href="http://proceedings.mlr.press/v97/xu19b.html">Gromov-wasserstein learning for graph matching and node embedding</a>. In International Conference on Machine Learning (ICML), 2019.</p>
<p>[52] Collas, A., Vayer, T., Flamary, F., & Breloy, A. (2023). <a class="reference external" href="https://arxiv.org/abs/2303.05119">Entropic Wasserstein Component Analysis</a>. ArXiv.</p>
<p>[53] C. Vincent-Cuaz, R. Flamary, M. Corneli, T. Vayer, N. Courty (2022). <a class="reference external" href="https://papers.nips.cc/paper_files/paper/2022/file/4d3525bc60ba1adc72336c0392d3d902-Paper-Conference.pdf">Template based graph neural network with optimal transport distances</a>. Advances in Neural Information Processing Systems, 35.</p>
<p>[54] Bécigneul, G., Ganea, O. E., Chen, B., Barzilay, R., & Jaakkola, T. S. (2020). <a class="reference external" href="https://arxiv.org/pdf/2006.04804">Optimal transport graph neural networks</a>.</p>
<p>[55] Ronak Mehta, Jeffery Kline, Vishnu Suresh Lokhande, Glenn Fung, & Vikas Singh (2023). <a class="reference external" href="https://openreview.net/forum?id=R98ZfMt-jE">Efficient Discrete Multi Marginal Optimal Transport Regularization</a>. In The Eleventh International Conference on Learning Representations (ICLR).</p>
<p>[56] Jeffery Kline. <a class="reference external" href="https://www.sciencedirect.com/science/article/pii/S0166218X19301441">Properties of the d-dimensional earth mover’s problem</a>. Discrete Applied Mathematics, 265: 128–141, 2019.</p>
<p>[57] Delon, J., Desolneux, A., & Salmona, A. (2022). <a class="reference external" href="https://hal.science/hal-03197398v2/file/main.pdf">Gromov–Wasserstein
distances between Gaussian distributions</a>. Journal of Applied Probability, 59(4),
1178-1198.</p>
<p>[58] Paty F-P., d’Aspremont 1., & Cuturi M. (2020). <a class="reference external" href="http://proceedings.mlr.press/v108/paty20a/paty20a.pdf">Regularity as regularization:Smooth and strongly convex brenier potentials in optimal transport.</a> In International Conference on Artificial Intelligence and Statistics, pages 1222–1232. PMLR, 2020.</p>
<p>[59] Taylor A. B. (2017). <a class="reference external" href="https://dial.uclouvain.be/pr/boreal/object/boreal%3A182881/datastream/PDF_01/view">Convex interpolation and performance estimation of first-order methods for convex optimization.</a> PhD thesis, Catholic University of Louvain, Louvain-la-Neuve, Belgium, 2017.</p>
<p>[60] Feydy, J., Roussillon, P., Trouvé, A., & Gori, P. (2019). <a class="reference external" href="https://arxiv.org/pdf/2107.02010.pdf">Fast and scalable optimal transport for brain tractograms</a>. In Medical Image Computing and Computer Assisted Intervention–MICCAI 2019: 22nd International Conference, Shenzhen, China, October 13–17, 2019, Proceedings, Part III 22 (pp. 636-644). Springer International Publishing.</p>
<p>[61] Charlier, B., Feydy, J., Glaunes, J. A., Collin, F. D., & Durif, G. (2021). <a class="reference external" href="https://www.jmlr.org/papers/volume22/20-275/20-275.pdf">Kernel operations on the gpu, with autodiff, without memory overflows</a>. The Journal of Machine Learning Research, 22(1), 3457-3462.</p>
<p>[62] H. Van Assel, C. Vincent-Cuaz, T. Vayer, R. Flamary, N. Courty (2023). <a class="reference external" href="https://arxiv.org/pdf/2310.03398.pdf">Interpolating between Clustering and Dimensionality Reduction with Gromov-Wasserstein</a>. NeurIPS 2023 Workshop Optimal Transport and Machine Learning.</p>
<p>[63] Li, J., Tang, J., Kong, L., Liu, H., Li, J., So, A. M. C., & Blanchet, J. (2022). <a class="reference external" href="https://openreview.net/pdf?id=0jxPyVWmiiF">A Convergent Single-Loop Algorithm for Relaxation of Gromov-Wasserstein in Graph Data</a>. In The Eleventh International Conference on Learning Representations.</p>
<p>[64] Ma, X., Chu, X., Wang, Y., Lin, Y., Zhao, J., Ma, L., & Zhu, W. (2023). <a class="reference external" href="https://openreview.net/pdf?id=uqkUguNu40">Fused Gromov-Wasserstein Graph Mixup for Graph-level Classifications</a>. In Thirty-seventh Conference on Neural Information Processing Systems.</p>
<p>[65] Scetbon, M., Cuturi, M., & Peyré, G. (2021). <a class="reference external" href="https://arxiv.org/pdf/2103.04737.pdf">Low-Rank Sinkhorn Factorization</a>.</p>
<p>[66] Pooladian, Aram-Alexandre, and Jonathan Niles-Weed. <a class="reference external" href="https://arxiv.org/pdf/2109.12004.pdf">Entropic estimation of optimal transport maps</a>. arXiv preprint arXiv:2109.12004 (2021).</p>
<p>[67] Scetbon, M., Peyré, G. & Cuturi, M. (2022). <a class="reference external" href="https://proceedings.mlr.press/v162/scetbon22b/scetbon22b.pdf">Linear-Time Gromov-Wasserstein Distances using Low Rank Couplings and Costs</a>. In International Conference on Machine Learning (ICML), 2022.</p>
<p>[68] Chowdhury, S., Miller, D., & Needham, T. (2021). <a class="reference external" href="https://link.springer.com/chapter/10.1007/978-3-030-86523-8_49">Quantized gromov-wasserstein</a>. ECML PKDD 2021. Springer International Publishing.</p>
<p>[69] Delon, J., & Desolneux, A. (2020). <a class="reference external" href="https://epubs.siam.org/doi/abs/10.1137/19M1301047">A Wasserstein-type distance in the space of Gaussian mixture models</a>. SIAM Journal on Imaging Sciences, 13(2), 936-970.</p>
<p>[70] A. Thual, H. Tran, T. Zemskova, N. Courty, R. Flamary, S. Dehaene
& B. Thirion (2022). <a class="reference external" href="https://proceedings.neurips.cc/paper_files/paper/2022/file/8906cac4ca58dcaf17e97a0486ad57ca-Paper-Conference.pdf">Aligning individual brains with Fused Unbalanced Gromov-Wasserstein.</a>. Neural Information Processing Systems (NeurIPS).</p>
<p>[71] H. Tran, H. Janati, N. Courty, R. Flamary, I. Redko, P. Demetci & R. Singh (2023). <a class="reference external" href="https://dl.acm.org/doi/10.1609/aaai.v37i8.26193">Unbalanced Co-Optimal Transport</a>. AAAI Conference on
Artificial Intelligence.</p>
<p>[72] Thibault Séjourné, François-Xavier Vialard, and Gabriel Peyré (2021). <a class="reference external" href="https://proceedings.neurips.cc/paper/2021/file/4990974d150d0de5e6e15a1454fe6b0f-Paper.pdf">The Unbalanced Gromov Wasserstein Distance: Conic Formulation and Relaxation</a>. Neural Information Processing Systems (NeurIPS).</p>
<p>[73] Séjourné, T., Vialard, F. X., & Peyré, G. (2022). <a class="reference external" href="https://proceedings.mlr.press/v151/sejourne22a.html">Faster Unbalanced Optimal Transport: Translation Invariant Sinkhorn and 1-D Frank-Wolfe</a>. In International Conference on Artificial Intelligence and Statistics (pp. 4995-5021). PMLR.</p>
</section>
</section>
</section>
</section>
<section id="indices-and-tables">
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
</ul>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="quickstart.html" class="btn btn-neutral float-right" title="Quick start guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2016-2023, POT Contributors.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" data-toggle="rst-versions" role="note"
aria-label="versions">
<!-- add shift_up to the class for force viewing ,
data-toggle="rst-current-version" -->
<span class="rst-current-version" style="margin-bottom:1mm;">
<span class="fa fa-book"> Python Optimal Transport</span>
<hr style="margin-bottom:1.5mm;margin-top:5mm;">
<!-- versions
<span class="fa fa-caret-down"></span>-->
<span class="rst-current-version" style="display: inline-block;padding:
0px;color:#fcfcfcab;float:left;font-size: 100%;">
Versions:
<a href="https://pythonot.github.io/"
style="padding: 3px;color:#fcfcfc;font-size: 100%;">Release</a>
<a href="https://pythonot.github.io/master"
style="padding: 3px;color:#fcfcfc;font-size: 100%;">Development</a>
<a href="https://github.com/PythonOT/POT"
style="padding: 3px;color:#fcfcfc;font-size: 100%;">Code</a>
</span>
</span>
<!--
<div class="rst-other-versions">
<div class="injected">
<dl>
<dt>Versions</dt>
<dd><a href="https://pythonot.github.io/">Release</a></dd>
<dd><a href="https://pythonot.github.io/master">Development</a></dd>
<dt><a href="https://github.com/PythonOT/POT">Code on Github</a></dt>
</dl>
<hr>
</div>
</div>-->
</div><script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>