summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/requirements.txt1
-rw-r--r--docs/requirements_rtd.txt1
-rw-r--r--docs/source/.github/CODE_OF_CONDUCT.rst6
-rw-r--r--docs/source/.github/CONTRIBUTING.rst6
-rw-r--r--docs/source/_templates/versions.html10
-rw-r--r--docs/source/conf.py5
-rw-r--r--docs/source/index.rst7
-rw-r--r--docs/source/readme.rst539
-rw-r--r--docs/source/releases.rst469
9 files changed, 31 insertions, 1013 deletions
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 256706b..2e060b9 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -4,3 +4,4 @@ numpydoc
memory_profiler
pillow
networkx
+myst-parser \ No newline at end of file
diff --git a/docs/requirements_rtd.txt b/docs/requirements_rtd.txt
index e3999d6..11957fb 100644
--- a/docs/requirements_rtd.txt
+++ b/docs/requirements_rtd.txt
@@ -3,6 +3,7 @@ numpydoc
memory_profiler
pillow
networkx
+myst-parser
numpy
scipy>=1.0
cython
diff --git a/docs/source/.github/CODE_OF_CONDUCT.rst b/docs/source/.github/CODE_OF_CONDUCT.rst
new file mode 100644
index 0000000..d4c5cec
--- /dev/null
+++ b/docs/source/.github/CODE_OF_CONDUCT.rst
@@ -0,0 +1,6 @@
+Code of Conduct
+===============
+
+.. include:: ../../../.github/CODE_OF_CONDUCT.md
+ :parser: myst_parser.sphinx_
+ :start-line: 2
diff --git a/docs/source/.github/CONTRIBUTING.rst b/docs/source/.github/CONTRIBUTING.rst
new file mode 100644
index 0000000..aef24e9
--- /dev/null
+++ b/docs/source/.github/CONTRIBUTING.rst
@@ -0,0 +1,6 @@
+Contributing to POT
+===================
+
+.. include:: ../../../.github/CONTRIBUTING.md
+ :parser: myst_parser.sphinx_
+ :start-line: 3
diff --git a/docs/source/_templates/versions.html b/docs/source/_templates/versions.html
index 10d60d7..f48ab86 100644
--- a/docs/source/_templates/versions.html
+++ b/docs/source/_templates/versions.html
@@ -1,4 +1,6 @@
-<div class="rst-versions shift-up" data-toggle="rst-versions" role="note" aria-label="versions">
+<div class="rst-versions" data-toggle="rst-versions" role="note"
+aria-label="versions">
+ <!-- add shift_up to the class for force viewing -->
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Python Optimal Transport</span>
versions
@@ -12,10 +14,12 @@
<dl>
<dt>Versions</dt>
+
+ <dd><a href="https://pythonot.github.io/">Release</a></dd>
- <dd><a href="https://pythonot.github.io/master">latest</a></dd>
+ <dd><a href="https://pythonot.github.io/master">Development</a></dd>
- <dd><a href="https://pythonot.github.io/">stable</a></dd>
+
</dl>
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 9b5a719..849e97c 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -69,6 +69,7 @@ extensions = [
'sphinx.ext.viewcode',
'sphinx.ext.napoleon',
'sphinx_gallery.gen_gallery',
+ 'myst_parser'
]
autosummary_generate = True
@@ -81,8 +82,8 @@ templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
-# source_suffix = ['.rst', '.md']
-source_suffix = '.rst'
+source_suffix = ['.rst', '.md']
+# source_suffix = '.rst'
# The encoding of source files.
source_encoding = 'utf-8-sig'
diff --git a/docs/source/index.rst b/docs/source/index.rst
index be01343..8de31ae 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -17,10 +17,11 @@ Contents
all
auto_examples/index
releases
+ .github/CONTRIBUTING
+ .github/CODE_OF_CONDUCT
-.. include:: readme.rst
- :start-line: 2
-
+.. include:: ../../README.md
+ :parser: myst_parser.sphinx_
Indices and tables
diff --git a/docs/source/readme.rst b/docs/source/readme.rst
deleted file mode 100644
index a8f1bc0..0000000
--- a/docs/source/readme.rst
+++ /dev/null
@@ -1,539 +0,0 @@
-POT: Python Optimal Transport
-=============================
-
-|PyPI version| |Anaconda Cloud| |Build Status| |Codecov Status|
-|Downloads| |Anaconda downloads| |License|
-
-This open source Python library provide several solvers for optimization
-problems related to Optimal Transport for signal, image processing and
-machine learning.
-
-Website and documentation: https://PythonOT.github.io/
-
-Source Code (MIT): https://github.com/PythonOT/POT
-
-POT provides the following generic OT solvers (links to examples):
-
-- `OT Network Simplex
- solver <auto_examples/plot_OT_1D.html>`__
- for the linear program/ Earth Movers Distance [1] .
-- `Conditional
- gradient <auto_examples/plot_optim_OTreg.html>`__
- [6] and `Generalized conditional
- gradient <auto_examples/plot_optim_OTreg.html>`__
- for regularized OT [7].
-- Entropic regularization OT solver with `Sinkhorn Knopp
- Algorithm <auto_examples/plot_OT_1D.html>`__
- [2] , stabilized version [9] [10] [34], greedy Sinkhorn [22] and
- `Screening Sinkhorn
- [26] <auto_examples/plot_screenkhorn_1D.html>`__.
-- Bregman projections for `Wasserstein
- barycenter <auto_examples/barycenters/plot_barycenter_lp_vs_entropic.html>`__
- [3], `convolutional
- barycenter <auto_examples/barycenters/plot_convolutional_barycenter.html>`__
- [21] and unmixing [4].
-- Sinkhorn divergence [23] and entropic regularization OT from
- empirical data.
-- Debiased Sinkhorn barycenters `Sinkhorn divergence
- barycenter <auto_examples/barycenters/plot_debiased_barycenter.html>`__
- [37]
-- `Smooth optimal transport
- solvers <auto_examples/plot_OT_1D_smooth.html>`__
- (dual and semi-dual) for KL and squared L2 regularizations [17].
-- Non regularized `Wasserstein barycenters
- [16] <auto_examples/barycenters/plot_barycenter_lp_vs_entropic.html>`__)
- with LP solver (only small scale).
-- `Gromov-Wasserstein
- distances <auto_examples/gromov/plot_gromov.html>`__
- and `GW
- barycenters <auto_examples/gromov/plot_gromov_barycenter.html>`__
- (exact [13] and regularized [12]), differentiable using gradients
- from
-- `Fused-Gromov-Wasserstein distances
- solver <auto_examples/gromov/plot_fgw.html#sphx-glr-auto-examples-plot-fgw-py>`__
- and `FGW
- barycenters <auto_examples/gromov/plot_barycenter_fgw.html>`__
- [24]
-- `Stochastic
- solver <auto_examples/plot_stochastic.html>`__
- for Large-scale Optimal Transport (semi-dual problem [18] and dual
- problem [19])
-- `Stochastic solver of Gromov
- Wasserstein <auto_examples/gromov/plot_gromov.html>`__
- for large-scale problem with any loss functions [33]
-- Non regularized `free support Wasserstein
- barycenters <auto_examples/barycenters/plot_free_support_barycenter.html>`__
- [20].
-- `Unbalanced
- OT <auto_examples/unbalanced-partial/plot_UOT_1D.html>`__
- with KL relaxation and
- `barycenter <auto_examples/unbalanced-partial/plot_UOT_barycenter_1D.html>`__
- [10, 25].
-- `Partial Wasserstein and
- Gromov-Wasserstein <auto_examples/unbalanced-partial/plot_partial_wass_and_gromov.html>`__
- (exact [29] and entropic [3] formulations).
-- `Sliced
- Wasserstein <auto_examples/sliced-wasserstein/plot_variance.html>`__
- [31, 32] and Max-sliced Wasserstein [35] that can be used for
- gradient flows [36].
-- `Several
- backends <https://pythonot.github.io/quickstart.html#solving-ot-with-multiple-backends>`__
- for easy use of POT with
- `Pytorch <https://pytorch.org/>`__/`jax <https://github.com/google/jax>`__/`Numpy <https://numpy.org/>`__
- arrays.
-
-POT provides the following Machine Learning related solvers:
-
-- `Optimal transport for domain
- adaptation <auto_examples/domain-adaptation/plot_otda_classes.html>`__
- with `group lasso
- regularization <auto_examples/domain-adaptation/plot_otda_classes.html>`__,
- `Laplacian
- regularization <auto_examples/domain-adaptation/plot_otda_laplacian.html>`__
- [5] [30] and `semi supervised
- setting <auto_examples/domain-adaptation/plot_otda_semi_supervised.html>`__.
-- `Linear OT
- mapping <auto_examples/domain-adaptation/plot_otda_linear_mapping.html>`__
- [14] and `Joint OT mapping
- estimation <auto_examples/domain-adaptation/plot_otda_mapping.html>`__
- [8].
-- `Wasserstein Discriminant
- Analysis <auto_examples/others/plot_WDA.html>`__
- [11] (requires autograd + pymanopt).
-- `JCPOT algorithm for multi-source domain adaptation with target
- shift <auto_examples/domain-adaptation/plot_otda_jcpot.html>`__
- [27].
-
-Some other examples are available in the
-`documentation <auto_examples/index.html>`__.
-
-Using and citing the toolbox
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you use this toolbox in your research and find it useful, please cite
-POT using the following reference from our `JMLR
-paper <https://jmlr.org/papers/v22/20-451.html>`__:
-
-::
-
- 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/
-
-In Bibtex format:
-
-.. code:: bibtex
-
- @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}
- }
-
-Installation
-------------
-
-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:
-
-- Numpy (>=1.16)
-- Scipy (>=1.0)
-- Cython (>=0.23) (build only, not necessary when installing from pip
- or conda)
-
-Pip installation
-^^^^^^^^^^^^^^^^
-
-You can install the toolbox through PyPI with:
-
-.. code:: console
-
- pip install POT
-
-or get the very latest version by running:
-
-.. code:: console
-
- pip install -U https://github.com/PythonOT/POT/archive/master.zip # with --user for user install (no root)
-
-Anaconda installation with conda-forge
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you use the Anaconda python distribution, POT is available in
-`conda-forge <https://conda-forge.org>`__. To install it and the
-required dependencies:
-
-.. code:: console
-
- conda install -c conda-forge pot
-
-Post installation check
-^^^^^^^^^^^^^^^^^^^^^^^
-
-After a correct installation, you should be able to import the module
-without errors:
-
-.. code:: python
-
- import ot
-
-Note that for easier access the module is named ``ot`` instead of
-``pot``.
-
-Dependencies
-~~~~~~~~~~~~
-
-Some sub-modules require additional dependences which are discussed
-below
-
-- **ot.dr** (Wasserstein dimensionality reduction) depends on autograd
- and pymanopt that can be installed with:
-
-.. code:: shell
-
- pip install pymanopt autograd
-
-- **ot.gpu** (GPU accelerated OT) depends on cupy that have to be
- installed following instructions on `this
- page <https://docs-cupy.chainer.org/en/stable/install.html>`__.
- Obviously you will need CUDA installed and a compatible GPU. Note
- that this module is deprecated since version 0.8 and will be deleted
- in the future. GPU is now handled automatically through the backends
- and several solver already can run on GPU using the Pytorch backend.
-
-Examples
---------
-
-Short examples
-~~~~~~~~~~~~~~
-
-- Import the toolbox
-
-.. code:: python
-
- import ot
-
-- Compute Wasserstein distances
-
-.. code:: python
-
- # 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
-
-- Compute OT matrix
-
-.. code:: python
-
- # 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
-
-- Compute Wasserstein barycenter
-
-.. code:: python
-
- # 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
-
-Examples and Notebooks
-~~~~~~~~~~~~~~~~~~~~~~
-
-The examples folder contain several examples and use case for the
-library. The full documentation with examples and output is available on
-https://PythonOT.github.io/.
-
-Acknowledgements
-----------------
-
-This toolbox has been created and is maintained by
-
-- `Rémi Flamary <http://remi.flamary.com/>`__
-- `Nicolas Courty <http://people.irisa.fr/Nicolas.Courty/>`__
-
-The contributors to this library are
-
-- `Alexandre Gramfort <http://alexandre.gramfort.net/>`__ (CI,
- documentation)
-- `Laetitia Chapel <http://people.irisa.fr/Laetitia.Chapel/>`__
- (Partial OT)
-- `Michael Perrot <http://perso.univ-st-etienne.fr/pem82055/>`__
- (Mapping estimation)
-- `Léo Gautheron <https://github.com/aje>`__ (GPU implementation)
-- `Nathalie
- Gayraud <https://www.linkedin.com/in/nathalie-t-h-gayraud/?ppe=1>`__
- (DA classes)
-- `Stanislas Chambon <https://slasnista.github.io/>`__ (DA classes)
-- `Antoine Rolet <https://arolet.github.io/>`__ (EMD solver debug)
-- Erwan Vautier (Gromov-Wasserstein)
-- `Kilian Fatras <https://kilianfatras.github.io/>`__ (Stochastic
- solvers)
-- `Alain
- Rakotomamonjy <https://sites.google.com/site/alainrakotomamonjy/home>`__
-- `Vayer Titouan <https://tvayer.github.io/>`__ (Gromov-Wasserstein -,
- Fused-Gromov-Wasserstein)
-- `Hicham Janati <https://hichamjanati.github.io/>`__ (Unbalanced OT,
- Debiased barycenters)
-- `Romain Tavenard <https://rtavenar.github.io/>`__ (1d Wasserstein)
-- `Mokhtar Z. Alaya <http://mzalaya.github.io/>`__ (Screenkhorn)
-- `Ievgen Redko <https://ievred.github.io/>`__ (Laplacian DA, JCPOT)
-- `Adrien Corenflos <https://adriencorenflos.github.io/>`__ (Sliced
- Wasserstein Distance)
-- `Tanguy Kerdoncuff <https://hv0nnus.github.io/>`__ (Sampled Gromov
- Wasserstein)
-- `Minhui Huang <https://mhhuang95.github.io>`__ (Projection Robust
- Wasserstein Distance)
-
-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):
-
-- `Gabriel Peyré <http://gpeyre.github.io/>`__ (Wasserstein Barycenters
- in Matlab)
-- `Mathieu Blondel <https://mblondel.org/>`__ (original implementation
- smooth OT)
-- `Nicolas Bonneel <http://liris.cnrs.fr/~nbonneel/>`__ ( C++ code for
- EMD)
-- `Marco Cuturi <http://marcocuturi.net/>`__ (Sinkhorn Knopp in
- Matlab/Cuda)
-
-Contributions and code of conduct
----------------------------------
-
-Every contribution is welcome and should respect the `contribution
-guidelines <.github/CONTRIBUTING.md>`__. Each member of the project is
-expected to follow the `code of conduct <.github/CODE_OF_CONDUCT.md>`__.
-
-Support
--------
-
-You can ask questions and join the development discussion:
-
-- On the POT `slack channel <https://pot-toolbox.slack.com>`__
-- On the POT `gitter channel <https://gitter.im/PythonOT/community>`__
-- On the POT `mailing
- list <https://mail.python.org/mm3/mailman3/lists/pot.python.org/>`__
-
-You can also post bug reports and feature requests in Github issues.
-Make sure to read our `guidelines <.github/CONTRIBUTING.md>`__ first.
-
-References
-----------
-
-[1] Bonneel, N., Van De Panne, M., Paris, S., & Heidrich, W. (2011,
-December). `Displacement interpolation using Lagrangian mass
-transport <https://people.csail.mit.edu/sparis/publi/2011/sigasia/Bonneel_11_Displacement_Interpolation.pdf>`__.
-In ACM Transactions on Graphics (TOG) (Vol. 30, No. 6, p. 158). ACM.
-
-[2] Cuturi, M. (2013). `Sinkhorn distances: Lightspeed computation of
-optimal transport <https://arxiv.org/pdf/1306.0895.pdf>`__. In Advances
-in Neural Information Processing Systems (pp. 2292-2300).
-
-[3] Benamou, J. D., Carlier, G., Cuturi, M., Nenna, L., & Peyré, G.
-(2015). `Iterative Bregman projections for regularized transportation
-problems <https://arxiv.org/pdf/1412.5154.pdf>`__. SIAM Journal on
-Scientific Computing, 37(2), A1111-A1138.
-
-[4] S. Nakhostin, N. Courty, R. Flamary, D. Tuia, T. Corpetti,
-`Supervised planetary unmixing with optimal
-transport <https://hal.archives-ouvertes.fr/hal-01377236/document>`__,
-Whorkshop on Hyperspectral Image and Signal Processing : Evolution in
-Remote Sensing (WHISPERS), 2016.
-
-[5] N. Courty; R. Flamary; D. Tuia; A. Rakotomamonjy, `Optimal Transport
-for Domain Adaptation <https://arxiv.org/pdf/1507.00504.pdf>`__, in IEEE
-Transactions on Pattern Analysis and Machine Intelligence , vol.PP,
-no.99, pp.1-1
-
-[6] Ferradans, S., Papadakis, N., Peyré, G., & Aujol, J. F. (2014).
-`Regularized discrete optimal
-transport <https://arxiv.org/pdf/1307.5551.pdf>`__. SIAM Journal on
-Imaging Sciences, 7(3), 1853-1882.
-
-[7] Rakotomamonjy, A., Flamary, R., & Courty, N. (2015). `Generalized
-conditional gradient: analysis of convergence and
-applications <https://arxiv.org/pdf/1510.06567.pdf>`__. arXiv preprint
-arXiv:1510.06567.
-
-[8] M. Perrot, N. Courty, R. Flamary, A. Habrard (2016), `Mapping
-estimation for discrete optimal
-transport <http://remi.flamary.com/biblio/perrot2016mapping.pdf>`__,
-Neural Information Processing Systems (NIPS).
-
-[9] Schmitzer, B. (2016). `Stabilized Sparse Scaling Algorithms for
-Entropy Regularized Transport
-Problems <https://arxiv.org/pdf/1610.06519.pdf>`__. arXiv preprint
-arXiv:1610.06519.
-
-[10] Chizat, L., Peyré, G., Schmitzer, B., & Vialard, F. X. (2016).
-`Scaling algorithms for unbalanced transport
-problems <https://arxiv.org/pdf/1607.05816.pdf>`__. arXiv preprint
-arXiv:1607.05816.
-
-[11] Flamary, R., Cuturi, M., Courty, N., & Rakotomamonjy, A. (2016).
-`Wasserstein Discriminant
-Analysis <https://arxiv.org/pdf/1608.08063.pdf>`__. arXiv preprint
-arXiv:1608.08063.
-
-[12] Gabriel Peyré, Marco Cuturi, and Justin Solomon (2016),
-`Gromov-Wasserstein averaging of kernel and distance
-matrices <http://proceedings.mlr.press/v48/peyre16.html>`__
-International Conference on Machine Learning (ICML).
-
-[13] Mémoli, Facundo (2011). `Gromov–Wasserstein distances and the
-metric approach to object
-matching <https://media.adelaide.edu.au/acvt/Publications/2011/2011-Gromov%E2%80%93Wasserstein%20Distances%20and%20the%20Metric%20Approach%20to%20Object%20Matching.pdf>`__.
-Foundations of computational mathematics 11.4 : 417-487.
-
-[14] Knott, M. and Smith, C. S. (1984).`On the optimal mapping of
-distributions <https://link.springer.com/article/10.1007/BF00934745>`__,
-Journal of Optimization Theory and Applications Vol 43.
-
-[15] Peyré, G., & Cuturi, M. (2018). `Computational Optimal
-Transport <https://arxiv.org/pdf/1803.00567.pdf>`__ .
-
-[16] Agueh, M., & Carlier, G. (2011). `Barycenters in the Wasserstein
-space <https://hal.archives-ouvertes.fr/hal-00637399/document>`__. SIAM
-Journal on Mathematical Analysis, 43(2), 904-924.
-
-[17] Blondel, M., Seguy, V., & Rolet, A. (2018). `Smooth and Sparse
-Optimal Transport <https://arxiv.org/abs/1710.06276>`__. Proceedings of
-the Twenty-First International Conference on Artificial Intelligence and
-Statistics (AISTATS).
-
-[18] Genevay, A., Cuturi, M., Peyré, G. & Bach, F. (2016) `Stochastic
-Optimization for Large-scale Optimal
-Transport <https://arxiv.org/abs/1605.08527>`__. Advances in Neural
-Information Processing Systems (2016).
-
-[19] Seguy, V., Bhushan Damodaran, B., Flamary, R., Courty, N., Rolet,
-A.& Blondel, M. `Large-scale Optimal Transport and Mapping
-Estimation <https://arxiv.org/pdf/1711.02283.pdf>`__. International
-Conference on Learning Representation (2018)
-
-[20] Cuturi, M. and Doucet, A. (2014) `Fast Computation of Wasserstein
-Barycenters <http://proceedings.mlr.press/v32/cuturi14.html>`__.
-International Conference in Machine Learning
-
-[21] Solomon, J., De Goes, F., Peyré, G., Cuturi, M., Butscher, A.,
-Nguyen, A. & Guibas, L. (2015). `Convolutional wasserstein distances:
-Efficient optimal transportation on geometric
-domains <https://dl.acm.org/citation.cfm?id=2766963>`__. ACM
-Transactions on Graphics (TOG), 34(4), 66.
-
-[22] J. Altschuler, J.Weed, P. Rigollet, (2017) `Near-linear time
-approximation algorithms for optimal transport via Sinkhorn
-iteration <https://papers.nips.cc/paper/6792-near-linear-time-approximation-algorithms-for-optimal-transport-via-sinkhorn-iteration.pdf>`__,
-Advances in Neural Information Processing Systems (NIPS) 31
-
-[23] Aude, G., Peyré, G., Cuturi, M., `Learning Generative Models with
-Sinkhorn Divergences <https://arxiv.org/abs/1706.00292>`__, Proceedings
-of the Twenty-First International Conference on Artficial Intelligence
-and Statistics, (AISTATS) 21, 2018
-
-[24] Vayer, T., Chapel, L., Flamary, R., Tavenard, R. and Courty, N.
-(2019). `Optimal Transport for structured data with application on
-graphs <http://proceedings.mlr.press/v97/titouan19a.html>`__ Proceedings
-of the 36th International Conference on Machine Learning (ICML).
-
-[25] Frogner C., Zhang C., Mobahi H., Araya-Polo M., Poggio T. (2015).
-`Learning with a Wasserstein Loss <http://cbcl.mit.edu/wasserstein/>`__
-Advances in Neural Information Processing Systems (NIPS).
-
-[26] Alaya M. Z., Bérar M., Gasso G., Rakotomamonjy A. (2019).
-`Screening Sinkhorn Algorithm for Regularized Optimal
-Transport <https://papers.nips.cc/paper/9386-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). `Optimal Transport
-for Multi-source Domain Adaptation under Target
-Shift <http://proceedings.mlr.press/v89/redko19a.html>`__, Proceedings
-of the Twenty-Second International Conference on Artificial Intelligence
-and Statistics (AISTATS) 22, 2019.
-
-[28] Caffarelli, L. A., McCann, R. J. (2010). `Free boundaries in
-optimal transport and Monge-Ampere obstacle
-problems <http://www.math.toronto.edu/~mccann/papers/annals2010.pdf>`__,
-Annals of mathematics, 673-730.
-
-[29] Chapel, L., Alaya, M., Gasso, G. (2020). `Partial Optimal Transport
-with Applications on Positive-Unlabeled
-Learning <https://arxiv.org/abs/2002.08276>`__, Advances in Neural
-Information Processing Systems (NeurIPS), 2020.
-
-[30] Flamary R., Courty N., Tuia D., Rakotomamonjy A. (2014). `Optimal
-transport with Laplacian regularization: Applications to domain
-adaptation and shape
-matching <https://remi.flamary.com/biblio/flamary2014optlaplace.pdf>`__,
-NIPS Workshop on Optimal Transport and Machine Learning OTML, 2014.
-
-[31] Bonneel, Nicolas, et al. `Sliced and radon wasserstein barycenters
-of
-measures <https://perso.liris.cnrs.fr/nicolas.bonneel/WassersteinSliced-JMIV.pdf>`__,
-Journal of Mathematical Imaging and Vision 51.1 (2015): 22-45
-
-[32] Huang, M., Ma S., Lai, L. (2021). `A Riemannian Block Coordinate
-Descent Method for Computing the Projection Robust Wasserstein
-Distance <http://proceedings.mlr.press/v139/huang21e.html>`__,
-Proceedings of the 38th International Conference on Machine Learning
-(ICML).
-
-[33] Kerdoncuff T., Emonet R., Marc S. `Sampled Gromov
-Wasserstein <https://hal.archives-ouvertes.fr/hal-03232509/document>`__,
-Machine Learning Journal (MJL), 2021
-
-[34] Feydy, J., Séjourné, T., Vialard, F. X., Amari, S. I., Trouvé, A.,
-& Peyré, G. (2019, April). `Interpolating between optimal transport and
-MMD using Sinkhorn
-divergences <http://proceedings.mlr.press/v89/feydy19a/feydy19a.pdf>`__.
-In The 22nd International Conference on Artificial Intelligence and
-Statistics (pp. 2681-2690). PMLR.
-
-[35] Deshpande, I., Hu, Y. T., Sun, R., Pyrros, A., Siddiqui, N.,
-Koyejo, S., ... & Schwing, A. G. (2019). `Max-sliced wasserstein
-distance and its use for
-gans <https://openaccess.thecvf.com/content_CVPR_2019/papers/Deshpande_Max-Sliced_Wasserstein_Distance_and_Its_Use_for_GANs_CVPR_2019_paper.pdf>`__.
-In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern
-Recognition (pp. 10648-10656).
-
-[36] Liutkus, A., Simsekli, U., Majewski, S., Durmus, A., & Stöter, F.
-R. (2019, May). `Sliced-Wasserstein flows: Nonparametric generative
-modeling via optimal transport and
-diffusions <http://proceedings.mlr.press/v97/liutkus19a/liutkus19a.pdf>`__.
-In International Conference on Machine Learning (pp. 4104-4113). PMLR.
-
-[37] Janati, H., Cuturi, M., Gramfort, A. `Debiased sinkhorn
-barycenters <http://proceedings.mlr.press/v119/janati20a/janati20a.pdf>`__
-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,
-`Online Graph Dictionary
-Learning <https://arxiv.org/pdf/2102.06555.pdf>`__, International
-Conference on Machine Learning (ICML), 2021.
-
-.. |PyPI version| image:: https://badge.fury.io/py/POT.svg
- :target: https://badge.fury.io/py/POT
-.. |Anaconda Cloud| image:: https://anaconda.org/conda-forge/pot/badges/version.svg
- :target: https://anaconda.org/conda-forge/pot
-.. |Build Status| image:: https://github.com/PythonOT/POT/workflows/build/badge.svg?branch=master&event=push
- :target: https://github.com/PythonOT/POT/actions
-.. |Codecov Status| image:: https://codecov.io/gh/PythonOT/POT/branch/master/graph/badge.svg
- :target: https://codecov.io/gh/PythonOT/POT
-.. |Downloads| image:: https://pepy.tech/badge/pot
- :target: https://pepy.tech/project/pot
-.. |Anaconda downloads| image:: https://anaconda.org/conda-forge/pot/badges/downloads.svg
- :target: https://anaconda.org/conda-forge/pot
-.. |License| image:: https://anaconda.org/conda-forge/pot/badges/license.svg
- :target: https://github.com/PythonOT/POT/blob/master/LICENSE
diff --git a/docs/source/releases.rst b/docs/source/releases.rst
index aa06105..8250a4d 100644
--- a/docs/source/releases.rst
+++ b/docs/source/releases.rst
@@ -1,469 +1,6 @@
Releases
========
-0.8.0
------
-
-*November 2021*
-
-This new stable release introduces several important features.
-
-First we now have an OpenMP compatible exact ot solver in ``ot.emd``.
-The OpenMP version is used when the parameter ``numThreads`` is greater
-than one and can lead to nice speedups on multi-core machines.
-
-| Second we have introduced a backend mechanism that allows to use
- standard POT function seamlessly on Numpy, Pytorch and Jax arrays.
- Other backends are coming but right now POT can be used seamlessly for
- training neural networks in Pytorch. Notably we propose the first
- differentiable computation of the exact OT loss with ``ot.emd2`` (can
- be differentiated w.r.t. both cost matrix and sample weights), but
- also for the classical Sinkhorn loss with ``ot.sinkhorn2``, the
- Wasserstein distance in 1D with ``ot.wasserstein_1d``, sliced
- Wasserstein with ``ot.sliced_wasserstein_distance`` and
- Gromov-Wasserstein with ``ot.gromov_wasserstein2``. Examples of how
- this new feature can be used are now available in the documentation
- where the Pytorch backend is used to estimate a `minimal Wasserstein
- estimator <https://PythonOT.github.io/auto_examples/backends/plot_unmix_optim_torch.html>`__,
- a `Generative Network
- (GAN) <https://PythonOT.github.io/auto_examples/backends/plot_wass2_gan_torch.html>`__,
- for a `sliced Wasserstein gradient
- flow <https://PythonOT.github.io/auto_examples/backends/plot_sliced_wass_grad_flow_pytorch.html>`__
- and `optimizing the Gromov-Wassersein
- distance <https://PythonOT.github.io/auto_examples/backends/plot_optim_gromov_pytorch.html>`__.
- Note that the Jax backend is still in early development and quite slow
- at the moment, we strongly recommend for Jax users to use the `OTT
- toolbox <https://github.com/google-research/ott>`__ when possible.
-| As a result of this new feature, the old ``ot.gpu`` submodule is now
- deprecated since GPU implementations can be done using GPU arrays on
- the torch backends.
-
-Other novel features include implementation for `Sampled Gromov
-Wasserstein and Pointwise Gromov
-Wasserstein <https://PythonOT.github.io/auto_examples/gromov/plot_gromov.html#compute-gw-with-a-scalable-stochastic-method-with-any-loss-function>`__,
-Sinkhorn in log space with ``method='sinkhorn_log'``, `Projection Robust
-Wasserstein <https://PythonOT.github.io/gen_modules/ot.dr.html?highlight=robust#ot.dr.projection_robust_wasserstein>`__,
-ans `deviased Sinkorn
-barycenters <https://PythonOT.github.ioauto_examples/barycenters/plot_debiased_barycenter.html>`__.
-
-This release will also simplify the installation process. We have now a
-``pyproject.toml`` that defines the build dependency and POT should now
-build even when cython is not installed yet. Also we now provide
-pe-compiled wheels for linux ``aarch64`` that is used on Raspberry PI
-and android phones and for MacOS on ARM processors.
-
-Finally POT was accepted for publication in the Journal of Machine
-Learning Research (JMLR) open source software track and we ask the POT
-users to cite `this
-paper <https://www.jmlr.org/papers/v22/20-451.html>`__ from now on. The
-documentation has been improved in particular by adding a "Why OT?"
-section to the quick start guide and several new examples illustrating
-the new features. The documentation now has two version : the stable
-version https://pythonot.github.io/ corresponding to the last release
-and the master version https://pythonot.github.io/master that
-corresponds to the current master branch on GitHub.
-
-As usual, we want to thank all the POT contributors (now 37 people have
-contributed to the toolbox). But for this release we thank in particular
-Nathan Cassereau and Kamel Guerda from the AI support team at
-`IDRIS <http://www.idris.fr/>`__ for their support to the development of
-the backend and OpenMP implementations.
-
-New features
-^^^^^^^^^^^^
-
-- OpenMP support for exact OT solvers (PR #260)
-- Backend for running POT in numpy/torch + exact solver (PR #249)
-- Backend implementation of most functions in ``ot.bregman`` (PR #280)
-- Backend implementation of most functions in ``ot.optim`` (PR #282)
-- Backend implementation of most functions in ``ot.gromov`` (PR #294,
- PR #302)
-- Test for arrays of different type and device (CPU/GPU) (PR #304,
- #303)
-- Implementation of Sinkhorn in log space with
- ``method='sinkhorn_log'`` (PR #290)
-- Implementation of regularization path for L2 Unbalanced OT (PR #274)
-- Implementation of Projection Robust Wasserstein (PR #267)
-- Implementation of Debiased Sinkhorn Barycenters (PR #291)
-- Implementation of Sampled Gromov Wasserstein and Pointwise Gromov
- Wasserstein (PR #275)
-- Add ``pyproject.toml`` and build POT without installing cython first
- (PR #293)
-- Lazy implementation in log space for sinkhorn on samples (PR #259)
-- Documentation cleanup (PR #298)
-- Two up-to-date documentations `for stable
- release <https://PythonOT.github.io/>`__ and for `master
- branch <https://pythonot.github.io/master/>`__.
-- Building wheels on ARM for Raspberry PI and smartphones (PR #238)
-- Update build wheels to new version and new pythons (PR #236, #253)
-- Implementation of sliced Wasserstein distance (Issue #202, PR #203)
-- Add minimal build to CI and perform pep8 test separately (PR #210)
-- Speedup of tests and return run time (PR #262)
-- Add "Why OT" discussion to the documentation (PR #220)
-- New introductory example to discrete OT in the documentation (PR
- #191)
-- Add templates for Issues/PR on Github (PR#181)
-
-Closed issues
-^^^^^^^^^^^^^
-
-- Debug Memory leak in GAN example (#254)
-- DEbug GPU bug (Issue #284, #287, PR #288)
-- set\_gradients method for JAX backend (PR #278)
-- Quicker GAN example for CircleCI build (PR #258)
-- Better formatting in Readme (PR #234)
-- Debug CI tests (PR #240, #241, #242)
-- Bug in Partial OT solver dummy points (PR #215)
-- Bug when Armijo linesearch (Issue #184, #198, #281, PR #189, #199,
- #286)
-- Bug Barycenter Sinkhorn (Issue 134, PR #195)
-- Infeasible solution in exact OT (Issues #126,#93, PR #217)
-- Doc for SUpport Barycenters (Issue #200, PR #201)
-- Fix labels transport in BaseTransport (Issue #207, PR #208)
-- Bug in ``emd_1d``, non respected bounds (Issue #169, PR #170)
-- Removed Python 2.7 support and update codecov file (PR #178)
-- Add normalization for WDA and test it (PR #172, #296)
-- Cleanup code for new version of ``flake8`` (PR #176)
-- Fixed requirements in ``setup.py`` (PR #174)
-- Removed specific MacOS flags (PR #175)
-
-0.7.0
------
-
-*May 2020*
-
-This is the new stable release for POT. We made a lot of changes in the
-documentation and added several new features such as Partial OT,
-Unbalanced and Multi Sources OT Domain Adaptation and several bug fixes.
-One important change is that we have created the GitHub organization
-`PythonOT <https://github.com/PythonOT>`__ that now owns the main POT
-repository https://github.com/PythonOT/POT and the repository for the
-new documentation is now hosted at https://PythonOT.github.io/.
-
-This is the first release where the Python 2.7 tests have been removed.
-Most of the toolbox should still work but we do not offer support for
-Python 2.7 and will close related Issues.
-
-A lot of changes have been done to the documentation that is now hosted
-on https://PythonOT.github.io/ instead of readthedocs. It was a hard
-choice but readthedocs did not allow us to run sphinx-gallery to update
-our beautiful examples and it was a huge amount of work to maintain. The
-documentation is now automatically compiled and updated on merge. We
-also removed the notebooks from the repository for space reason and also
-because they are all available in the `example
-gallery <auto_examples/index.html>`__. Note
-that now the output of the documentation build for each commit in the PR
-is available to check that the doc builds correctly before merging which
-was not possible with readthedocs.
-
-The CI framework has also been changed with a move from Travis to Github
-Action which allows to get faster tests on Windows, MacOS and Linux. We
-also now report our coverage on
-`Codecov.io <https://codecov.io/gh/PythonOT/POT>`__ and we have a
-reasonable 92% coverage. We also now generate wheels for a number of OS
-and Python versions at each merge in the master branch. They are
-available as outputs of this
-`action <https://github.com/PythonOT/POT/actions?query=workflow%3A%22Build+dist+and+wheels%22>`__.
-This will allow simpler multi-platform releases from now on.
-
-In terms of new features we now have `OTDA Classes for unbalanced
-OT <https://pythonot.github.io/gen_modules/ot.da.html#ot.da.UnbalancedSinkhornTransport>`__,
-a new Domain adaptation class form `multi domain problems
-(JCPOT) <auto_examples/domain-adaptation/plot_otda_jcpot.html#sphx-glr-auto-examples-domain-adaptation-plot-otda-jcpot-py>`__,
-and several solvers to solve the `Partial Optimal
-Transport <auto_examples/unbalanced-partial/plot_partial_wass_and_gromov.html#sphx-glr-auto-examples-unbalanced-partial-plot-partial-wass-and-gromov-py>`__
-problems.
-
-This release is also the moment to thank all the POT contributors (old
-and new) for helping making POT such a nice toolbox. A lot of changes
-(also in the API) are coming for the next versions.
-
-Features
-^^^^^^^^
-
-- New documentation on https://PythonOT.github.io/ (PR #160, PR #143,
- PR #144)
-- Documentation build on CircleCI with sphinx-gallery (PR #145,PR #146,
- #155)
-- Run sphinx gallery in CI (PR #146)
-- Remove notebooks from repo because available in doc (PR #156)
-- Build wheels in CI (#157)
-- Move from travis to GitHub Action for Windows, MacOS and Linux (PR
- #148, PR #150)
-- Partial Optimal Transport (PR#141 and PR #142)
-- Laplace regularized OTDA (PR #140)
-- Multi source DA with target shift (PR #137)
-- Screenkhorn algorithm (PR #121)
-
-Closed issues
-^^^^^^^^^^^^^
-
-- Add JMLR paper to teh readme ad Mathieu Blondel to the Acknoledgments
- (PR #231, #232)
-- Bug in Unbalanced OT example (Issue #127)
-- Clean Cython output when calling setup.py clean (Issue #122)
-- Various Macosx compilation problems (Issue #113, Issue #118, PR#130)
-- EMD dimension mismatch (Issue #114, Fixed in PR #116)
-- 2D barycenter bug for non square images (Issue #124, fixed in PR
- #132)
-- Bad value in EMD 1D (Issue #138, fixed in PR #139)
-- Log bugs for Gromov-Wassertein solver (Issue #107, fixed in PR #108)
-- Weight issues in barycenter function (PR #106)
-
-0.6.0
------
-
-*July 2019*
-
-This is the first official stable release of POT and this means a jump
-to 0.6! The library has been used in the wild for a while now and we
-have reached a state where a lot of fundamental OT solvers are available
-and tested. It has been quite stable in the last months but kept the
-beta flag in its Pypi classifiers until now.
-
-Note that this release will be the last one supporting officially Python
-2.7 (See https://python3statement.org/ for more reasons). For next
-release we will keep the travis tests for Python 2 but will make them
-non necessary for merge in 2020.
-
-The features are never complete in a toolbox designed for solving
-mathematical problems and research but with the new contributions we now
-implement algorithms and solvers from 24 scientific papers (listed in
-the README.md file). New features include a direct implementation of the
-`empirical Sinkhorn
-divergence <all.html#ot.bregman.empirical_sinkhorn_divergence>`__,
-a new efficient (Cython implementation) solver for `EMD in
-1D <all.html#ot.lp.emd_1d>`__ and
-corresponding `Wasserstein
-1D <all.html#ot.lp.wasserstein_1d>`__.
-We now also have implementations for `Unbalanced
-OT <auto_examples/plot_UOT_1D.html>`__
-and a solver for `Unbalanced OT
-barycenters <auto_examples/plot_UOT_barycenter_1D.html>`__.
-A new variant of Gromov-Wasserstein divergence called `Fused
-Gromov-Wasserstein <all.html?highlight=fused_#ot.gromov.fused_gromov_wasserstein>`__
-has been also contributed with exemples of use on `structured
-data <auto_examples/plot_fgw.html>`__
-and computing `barycenters of labeld
-graphs <auto_examples/plot_barycenter_fgw.html>`__.
-
-A lot of work has been done on the documentation with several new
-examples corresponding to the new features and a lot of corrections for
-the docstrings. But the most visible change is a new `quick start
-guide <quickstart.html>`__ for POT
-that gives several pointers about which function or classes allow to
-solve which specific OT problem. When possible a link is provided to
-relevant examples.
-
-We will also provide with this release some pre-compiled Python wheels
-for Linux 64bit on github and pip. This will simplify the install
-process that before required a C compiler and numpy/cython already
-installed.
-
-Finally we would like to acknowledge and thank the numerous contributors
-of POT that has helped in the past build the foundation and are still
-contributing to bring new features and solvers to the library.
-
-Features
-^^^^^^^^
-
-- Add compiled manylinux 64bits wheels to pip releases (PR #91)
-- Add quick start guide (PR #88)
-- Make doctest work on travis (PR #90)
-- Update documentation (PR #79, PR #84)
-- Solver for EMD in 1D (PR #89)
-- Solvers for regularized unbalanced OT (PR #87, PR#99)
-- Solver for Fused Gromov-Wasserstein (PR #86)
-- Add empirical Sinkhorn and empirical Sinkhorn divergences (PR #80)
-
-Closed issues
-^^^^^^^^^^^^^
-
-- Issue #59 fail when using "pip install POT" (new details in doc+
- hopefully wheels)
-- Issue #85 Cannot run gpu modules
-- Issue #75 Greenkhorn do not return log (solved in PR #76)
-- Issue #82 Gromov-Wasserstein fails when the cost matrices are
- slightly different
-- Issue #72 Macosx build problem
-
-0.5.0
------
-
-*Sep 2018*
-
-POT is 2 years old! This release brings numerous new features to the
-toolbox as listed below but also several bug correction.
-
-| Among the new features, we can highlight a `non-regularized
- Gromov-Wasserstein
- solver <auto_examples/plot_gromov.html>`__,
- a new `greedy variant of
- sinkhorn <all.html#ot.bregman.greenkhorn>`__,
-| `non-regularized <all.html#ot.lp.barycenter>`__,
- `convolutional
- (2D) <auto_examples/plot_convolutional_barycenter.html>`__
- and `free
- support <auto_examples/plot_free_support_barycenter.html>`__
- Wasserstein barycenters and
- `smooth <https://github.com/rflamary/POT/blob/prV0.5/notebooks/plot_OT_1D_smooth.html>`__
- and
- `stochastic <all.html#ot.stochastic.sgd_entropic_regularization>`__
- implementation of entropic OT.
-
-POT 0.5 also comes with a rewriting of ot.gpu using the cupy framework
-instead of the unmaintained cudamat. Note that while we tried to keed
-changes to the minimum, the OTDA classes were deprecated. If you are
-happy with the cudamat implementation, we recommend you stay with stable
-release 0.4 for now.
-
-The code quality has also improved with 92% code coverage in tests that
-is now printed to the log in the Travis builds. The documentation has
-also been greatly improved with new modules and examples/notebooks.
-
-This new release is so full of new stuff and corrections thanks to the
-old and new POT contributors (you can see the list in the
-`readme <https://github.com/rflamary/POT/blob/master/README.md>`__).
-
-Features
-^^^^^^^^
-
-- Add non regularized Gromov-Wasserstein solver (PR #41)
-- Linear OT mapping between empirical distributions and 90% test
- coverage (PR #42)
-- Add log parameter in class EMDTransport and SinkhornLpL1Transport (PR
- #44)
-- Add Markdown format for Pipy (PR #45)
-- Test for Python 3.5 and 3.6 on Travis (PR #46)
-- Non regularized Wasserstein barycenter with scipy linear solver
- and/or cvxopt (PR #47)
-- Rename dataset functions to be more sklearn compliant (PR #49)
-- Smooth and sparse Optimal transport implementation with entropic and
- quadratic regularization (PR #50)
-- Stochastic OT in the dual and semi-dual (PR #52 and PR #62)
-- Free support barycenters (PR #56)
-- Speed-up Sinkhorn function (PR #57 and PR #58)
-- Add convolutional Wassersein barycenters for 2D images (PR #64)
-- Add Greedy Sinkhorn variant (Greenkhorn) (PR #66)
-- Big ot.gpu update with cupy implementation (instead of un-maintained
- cudamat) (PR #67)
-
-Deprecation
-^^^^^^^^^^^
-
-Deprecated OTDA Classes were removed from ot.da and ot.gpu for version
-0.5 (PR #48 and PR #67). The deprecation message has been for a year
-here since 0.4 and it is time to pull the plug.
-
-Closed issues
-^^^^^^^^^^^^^
-
-- Issue #35 : remove import plot from ot/\ **init**.py (See PR #41)
-- Issue #43 : Unusable parameter log for EMDTransport (See PR #44)
-- Issue #55 : UnicodeDecodeError: 'ascii' while installing with pip
-
-0.4
----
-
-*15 Sep 2017*
-
-This release contains a lot of contribution from new contributors.
-
-Features
-^^^^^^^^
-
-- Automatic notebooks and doc update (PR #27)
-- Add gromov Wasserstein solver and Gromov Barycenters (PR #23)
-- emd and emd2 can now return dual variables and have max\_iter (PR #29
- and PR #25)
-- New domain adaptation classes compatible with scikit-learn (PR #22)
-- Proper tests with pytest on travis (PR #19)
-- PEP 8 tests (PR #13)
-
-Closed issues
-^^^^^^^^^^^^^
-
-- emd convergence problem du to fixed max iterations (#24)
-- Semi supervised DA error (#26)
-
-0.3.1
------
-
-*11 Jul 2017*
-
-- Correct bug in emd on windows
-
-0.3
----
-
-*7 Jul 2017*
-
-- emd\* and sinkhorn\* are now performed in parallel for multiple
- target distributions
-- emd and sinkhorn are for OT matrix computation
-- emd2 and sinkhorn2 are for OT loss computation
-- new notebooks for emd computation and Wasserstein Discriminant
- Analysis
-- relocate notebooks
-- update documentation
-- clean\_zeros(a,b,M) for removimg zeros in sparse distributions
-- GPU implementations for sinkhorn and group lasso regularization
-
-V0.2
-----
-
-*7 Apr 2017*
-
-- New dimensionality reduction method (WDA)
-- Efficient method emd2 returns only tarnsport (in paralell if several
- histograms given)
-
-0.1.11
-------
-
-*5 Jan 2017*
-
-- Add sphinx gallery for better documentation
-- Small efficiency tweak in sinkhorn
-- Add simple tic() toc() functions for timing
-
-0.1.10
-------
-
-*7 Nov 2016* \* numerical stabilization for sinkhorn (log domain and
-epsilon scaling)
-
-0.1.9
------
-
-*4 Nov 2016*
-
-- Update classes and examples for domain adaptation
-- Joint OT matrix and mapping estimation
-
-0.1.7
------
-
-*31 Oct 2016*
-
-- Original Domain adaptation classes
-
-0.1.3
------
-
-- pipy works
-
-First pre-release
------------------
-
-*28 Oct 2016*
-
-It provides the following solvers: \* OT solver for the linear program/
-Earth Movers Distance. \* Entropic regularization OT solver with
-Sinkhorn Knopp Algorithm. \* Bregman projections for Wasserstein
-barycenter [3] and unmixing. \* Optimal transport for domain adaptation
-with group lasso regularization \* Conditional gradient and Generalized
-conditional gradient for regularized OT.
-
-Some demonstrations (both in Python and Jupyter Notebook format) are
-available in the examples folder.
+.. include:: ../../RELEASES.md
+ :parser: myst_parser.sphinx_
+ :start-line: 3