From 8fd50a7e9d0e7d06ea93fe6ad88413abc91ac6f9 Mon Sep 17 00:00:00 2001 From: Rémi Flamary Date: Wed, 22 Apr 2020 14:15:15 +0200 Subject: relative path in doc --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index cafda8e..f5f89d9 100644 --- a/Makefile +++ b/Makefile @@ -58,6 +58,7 @@ release_test : rdoc : pandoc --from=markdown --to=rst --output=docs/source/readme.rst README.md + sed -i 's,https://pythonot.github.io/auto_examples/,auto_examples/,g' docs/source/readme.rst notebook : ipython notebook --matplotlib=inline --notebook-dir=notebooks/ -- cgit v1.2.3 From 46523dc0956fd17e709f958ebd351e748fca0a23 Mon Sep 17 00:00:00 2001 From: Rémi Flamary Date: Fri, 24 Apr 2020 12:03:16 +0200 Subject: add realeases --- Makefile | 5 +- RELEASES.md | 2 +- docs/source/conf.py | 2 +- docs/source/index.rst | 3 +- docs/source/releases.rst | 260 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 268 insertions(+), 4 deletions(-) create mode 100644 docs/source/releases.rst (limited to 'Makefile') diff --git a/Makefile b/Makefile index f5f89d9..202b209 100644 --- a/Makefile +++ b/Makefile @@ -59,7 +59,10 @@ release_test : rdoc : pandoc --from=markdown --to=rst --output=docs/source/readme.rst README.md sed -i 's,https://pythonot.github.io/auto_examples/,auto_examples/,g' docs/source/readme.rst - + pandoc --from=markdown --to=rst --output=docs/source/releases.rst RELEASES.md + sed -i 's,https://pot.readthedocs.io/en/latest/,,g' docs/source/releases.rst + sed -i 's,https://github.com/rflamary/POT/blob/master/notebooks/,auto_examples/,g' docs/source/releases.rst + sed -i 's,.ipynb,.html/,g' docs/source/releases.rst notebook : ipython notebook --matplotlib=inline --notebook-dir=notebooks/ diff --git a/RELEASES.md b/RELEASES.md index 66eee19..70a7a01 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,4 +1,4 @@ -# POT Releases +# Releases ## 0.6 Year 3 diff --git a/docs/source/conf.py b/docs/source/conf.py index f3c61e7..880c71d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -67,7 +67,7 @@ extensions = [ 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', 'sphinx.ext.napoleon', - #'sphinx_gallery.gen_gallery', + 'sphinx_gallery.gen_gallery', ] napoleon_numpy_docstring = True diff --git a/docs/source/index.rst b/docs/source/index.rst index 9078d35..47a29a4 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -10,12 +10,13 @@ Contents -------- .. toctree:: - :maxdepth: 2 + :maxdepth: 1 self quickstart all auto_examples/index + releases .. include:: readme.rst :start-line: 5 diff --git a/docs/source/releases.rst b/docs/source/releases.rst new file mode 100644 index 0000000..58bfcfb --- /dev/null +++ b/docs/source/releases.rst @@ -0,0 +1,260 @@ +POT Releases +============ + +0.6 Year 3 +---------- + +*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 `__ +, a new efficient (Cython implementation) solver for `EMD in +1D `__ and +corresponding `Wasserstein +1D `__. +We now also have implementations for `Unbalanced +OT `__ +and a solver for `Unbalanced OT +barycenters `__. +A new variant of Gromov-Wasserstein divergence called `Fused +Gromov-Wasserstein `__ +has been also contributed with exemples of use on `structured +data `__ +and computing `barycenters of labeld +graphs `__. + +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 `__ 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 Year 2 +------------ + +*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 `__, + a new `greedy variant of + sinkhorn `__, +| `non-regularized `__, + `convolutional + (2D) `__ + and `free + support `__ + Wasserstein barycenters and + `smooth `__ + and + `stochastic `__ + 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 `__). + +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 Community edition +--------------------- + +*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 Summer release +------------------ + +*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) + +V0.1.11 New years resolution +---------------------------- + +*5 Jan 2017* + +- Add sphinx gallery for better documentation +- Small efficiency tweak in sinkhorn +- Add simple tic() toc() functions for timing + +V0.1.10 +------- + +*7 Nov 2016* \* numerical stabilization for sinkhorn (log domain and +epsilon scaling) + +V0.1.9 DA classes and mapping +----------------------------- + +*4 Nov 2016* + +- Update classes and examples for domain adaptation +- Joint OT matrix and mapping estimation + +V0.1.7 +------ + +*31 Oct 2016* + +- Original Domain adaptation classes + +PyPI version 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. -- cgit v1.2.3 From 6b42088a1e089d488b1e2f4f2b42084255f331cf Mon Sep 17 00:00:00 2001 From: Rémi Flamary Date: Fri, 24 Apr 2020 14:56:25 +0200 Subject: better documentation --- Makefile | 4 +++- docs/source/all.rst | 4 ++-- docs/source/conf.py | 6 +++--- docs/source/releases.rst | 20 ++++++++++---------- 4 files changed, 18 insertions(+), 16 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 202b209..70cdbdd 100644 --- a/Makefile +++ b/Makefile @@ -62,7 +62,9 @@ rdoc : pandoc --from=markdown --to=rst --output=docs/source/releases.rst RELEASES.md sed -i 's,https://pot.readthedocs.io/en/latest/,,g' docs/source/releases.rst sed -i 's,https://github.com/rflamary/POT/blob/master/notebooks/,auto_examples/,g' docs/source/releases.rst - sed -i 's,.ipynb,.html/,g' docs/source/releases.rst + sed -i 's,.ipynb,.html,g' docs/source/releases.rst + sed -i 's,https://pythonot.github.io/auto_examples/,auto_examples/,g' docs/source/releases.rst + notebook : ipython notebook --matplotlib=inline --notebook-dir=notebooks/ diff --git a/docs/source/all.rst b/docs/source/all.rst index a6d9790..f4ba559 100644 --- a/docs/source/all.rst +++ b/docs/source/all.rst @@ -1,7 +1,7 @@ -Python modules -============== +API and modules +=============== ot -- diff --git a/docs/source/conf.py b/docs/source/conf.py index 3699156..101ccd9 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -88,7 +88,7 @@ master_doc = 'index' # General information about the project. project = u'POT Python Optimal Transport' -copyright = u'2016-2019, Rémi Flamary, Nicolas Courty' +copyright = u'2016-2020, Rémi Flamary, Nicolas Courty' author = u'Rémi Flamary, Nicolas Courty' # The version info for the project you're documenting, acts as replacement for @@ -297,7 +297,7 @@ latex_documents = [ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - (master_doc, 'pot', u'POT Python Optimal Transport library Documentation', + (master_doc, 'pot', u'POT Python Optimal Transport', [author], 1) ] @@ -312,7 +312,7 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'POT', u'POT Python Optimal Transport library Documentation', - author, 'POT', 'Python Optimal Transport librar.', + author, 'POT', 'Python Optimal Transport library', 'Miscellaneous'), ] diff --git a/docs/source/releases.rst b/docs/source/releases.rst index 58bfcfb..6b64066 100644 --- a/docs/source/releases.rst +++ b/docs/source/releases.rst @@ -1,5 +1,5 @@ -POT Releases -============ +Releases +======== 0.6 Year 3 ---------- @@ -28,15 +28,15 @@ divergence `__ corresponding `Wasserstein 1D `__. We now also have implementations for `Unbalanced -OT `__ +OT `__ and a solver for `Unbalanced OT -barycenters `__. +barycenters `__. A new variant of Gromov-Wasserstein divergence called `Fused Gromov-Wasserstein `__ has been also contributed with exemples of use on `structured -data `__ +data `__ and computing `barycenters of labeld -graphs `__. +graphs `__. 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 @@ -88,16 +88,16 @@ toolbox as listed below but also several bug correction. | Among the new features, we can highlight a `non-regularized Gromov-Wasserstein - solver `__, + solver `__, a new `greedy variant of sinkhorn `__, | `non-regularized `__, `convolutional - (2D) `__ + (2D) `__ and `free - support `__ + support `__ Wasserstein barycenters and - `smooth `__ + `smooth `__ and `stochastic `__ implementation of entropic OT. -- cgit v1.2.3