|
1 | | -# POT: Python Optimal Transport library |
| 1 | +# POT: Python Optimal Transport |
2 | 2 |
|
3 | 3 | This open source Python library provide several solvers for optimization problems related to Optimal Transport for signal, image processing and machine learning. |
4 | 4 |
|
5 | 5 | It provides the following solvers: |
6 | | -* Linear program (LP) OT solver/ Earth Movers Distance (using code from Antoine Rolet and Nicolas Bonneel [1]). |
| 6 | +* OT solver for the linear program/ Earth Movers Distance [1]. |
7 | 7 | * Entropic regularization OT solver with Sinkhorn Knopp Algorithm [2]. |
8 | 8 | * Bregman projections for Wasserstein barycenter [3] and unmixing [4]. |
9 | 9 | * Optimal transport for domain adaptation with group lasso regularization [5] |
10 | 10 | * Conditional gradient [6] and Generalized conditional gradient for regularized OT [7]. |
11 | 11 |
|
12 | | -Some demonstrations (both in Python and Jupyter Notebook Format) are available in the examples folder. |
13 | | - |
| 12 | +Some demonstrations (both in Python and Jupyter Notebook format) are available in the examples folder. |
14 | 13 |
|
15 | 14 | ## Installation |
16 | 15 |
|
| 16 | +The Library has been tested on Linux and MacOSX. It requires a C++ compiler for using the EMD solver and rely on the following Python modules: |
| 17 | + |
| 18 | +- Numpy (>=1.11) |
| 19 | +- Scipy (>=0.17) |
| 20 | + |
| 21 | +To install the library, you can install it locally (after downloading it) on you machine using |
| 22 | +``` |
| 23 | +python setup.py install --user |
| 24 | +``` |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | +After a correct installation, you should be able to import the module without errors: |
| 29 | +```python |
| 30 | +import ot |
| 31 | +``` |
| 32 | + |
| 33 | +Note that for easier acesss the module is name ot instead of pot. |
17 | 34 |
|
18 | 35 | ## Examples |
19 | 36 |
|
20 | 37 | The examples folder contain several examples abnd use case for the library. Here is a list of the Ypython notebook if you want a quick look. |
21 | 38 |
|
22 | | -* [1D Optimal transport](examples/Demo_1D_OT.ipynb) |
| 39 | +* [1D optimal transport](examples/Demo_1D_OT.ipynb) |
23 | 40 |
|
24 | 41 |
|
25 | 42 | ## Acknowledgements |
26 | 43 |
|
27 | | -The main developers of this library are: |
28 | | -* Rémi Flamary |
29 | | -* Nicolas Courty |
| 44 | +The contributors to this library are: |
| 45 | +* [Rémi Flamary](http://remi.flamary.com/) |
| 46 | +* [Nicolas Courty](http://people.irisa.fr/Nicolas.Courty/) |
| 47 | +* [Laetitia Chapel](http://people.irisa.fr/Laetitia.Chapel/) |
30 | 48 |
|
31 | 49 | This toolbox benefit a lot from Open Source research and we would like to thank the Following persons for providing some code (in various languages): |
32 | 50 |
|
33 | | -* Gabriel Peyré (Wasserstein Barycenters in Matlab) |
34 | | -* Nicolas Bonneel ( C++ code for EMD) |
35 | | -* Antoine Rolet ( Mex file fro EMD ) |
36 | | -* Marco Cuturi (Sinkhorn Knopp in Matlab/Cuda) |
| 51 | +* [Gabriel Peyré](http://gpeyre.github.io/) (Wasserstein Barycenters in Matlab) |
| 52 | +* [Nicolas Bonneel](http://liris.cnrs.fr/~nbonneel/) ( C++ code for EMD) |
| 53 | +* [Antoine Rolet](https://arolet.github.io/) ( Mex file for EMD ) |
| 54 | +* [Marco Cuturi](http://marcocuturi.net/) (Sinkhorn Knopp in Matlab/Cuda) |
37 | 55 |
|
38 | 56 | ## References |
39 | 57 |
|
|
0 commit comments