Skip to content

Commit 46523dc

Browse files
committed
add realeases
1 parent c529ffd commit 46523dc

File tree

5 files changed

+268
-4
lines changed

5 files changed

+268
-4
lines changed

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ release_test :
5959
rdoc :
6060
pandoc --from=markdown --to=rst --output=docs/source/readme.rst README.md
6161
sed -i 's,https://pythonot.github.io/auto_examples/,auto_examples/,g' docs/source/readme.rst
62-
62+
pandoc --from=markdown --to=rst --output=docs/source/releases.rst RELEASES.md
63+
sed -i 's,https://pot.readthedocs.io/en/latest/,,g' docs/source/releases.rst
64+
sed -i 's,https://github.com/rflamary/POT/blob/master/notebooks/,auto_examples/,g' docs/source/releases.rst
65+
sed -i 's,.ipynb,.html/,g' docs/source/releases.rst
6366
notebook :
6467
ipython notebook --matplotlib=inline --notebook-dir=notebooks/
6568

RELEASES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# POT Releases
1+
# Releases
22

33

44
## 0.6 Year 3

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def __getattr__(cls, name):
6767
'sphinx.ext.ifconfig',
6868
'sphinx.ext.viewcode',
6969
'sphinx.ext.napoleon',
70-
#'sphinx_gallery.gen_gallery',
70+
'sphinx_gallery.gen_gallery',
7171
]
7272

7373
napoleon_numpy_docstring = True

docs/source/index.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ Contents
1010
--------
1111

1212
.. toctree::
13-
:maxdepth: 2
13+
:maxdepth: 1
1414

1515
self
1616
quickstart
1717
all
1818
auto_examples/index
19+
releases
1920

2021
.. include:: readme.rst
2122
:start-line: 5

docs/source/releases.rst

Lines changed: 260 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,260 @@
1+
POT Releases
2+
============
3+
4+
0.6 Year 3
5+
----------
6+
7+
*July 2019*
8+
9+
This is the first official stable release of POT and this means a jump
10+
to 0.6! The library has been used in the wild for a while now and we
11+
have reached a state where a lot of fundamental OT solvers are available
12+
and tested. It has been quite stable in the last months but kept the
13+
beta flag in its Pypi classifiers until now.
14+
15+
Note that this release will be the last one supporting officially Python
16+
2.7 (See https://python3statement.org/ for more reasons). For next
17+
release we will keep the travis tests for Python 2 but will make them
18+
non necessary for merge in 2020.
19+
20+
The features are never complete in a toolbox designed for solving
21+
mathematical problems and research but with the new contributions we now
22+
implement algorithms and solvers from 24 scientific papers (listed in
23+
the README.md file). New features include a direct implementation of the
24+
`empirical Sinkhorn
25+
divergence <all.html#ot.bregman.empirical_sinkhorn_divergence>`__
26+
, a new efficient (Cython implementation) solver for `EMD in
27+
1D <all.html#ot.lp.emd_1d>`__ and
28+
corresponding `Wasserstein
29+
1D <all.html#ot.lp.wasserstein_1d>`__.
30+
We now also have implementations for `Unbalanced
31+
OT <auto_examples/plot_UOT_1D.html/>`__
32+
and a solver for `Unbalanced OT
33+
barycenters <auto_examples/plot_UOT_barycenter_1D.html/>`__.
34+
A new variant of Gromov-Wasserstein divergence called `Fused
35+
Gromov-Wasserstein <all.html?highlight=fused_#ot.gromov.fused_gromov_wasserstein>`__
36+
has been also contributed with exemples of use on `structured
37+
data <auto_examples/plot_fgw.html/>`__
38+
and computing `barycenters of labeld
39+
graphs <auto_examples/plot_barycenter_fgw.html/>`__.
40+
41+
A lot of work has been done on the documentation with several new
42+
examples corresponding to the new features and a lot of corrections for
43+
the docstrings. But the most visible change is a new `quick start
44+
guide <quickstart.html>`__ for POT
45+
that gives several pointers about which function or classes allow to
46+
solve which specific OT problem. When possible a link is provided to
47+
relevant examples.
48+
49+
We will also provide with this release some pre-compiled Python wheels
50+
for Linux 64bit on github and pip. This will simplify the install
51+
process that before required a C compiler and numpy/cython already
52+
installed.
53+
54+
Finally we would like to acknowledge and thank the numerous contributors
55+
of POT that has helped in the past build the foundation and are still
56+
contributing to bring new features and solvers to the library.
57+
58+
Features
59+
^^^^^^^^
60+
61+
- Add compiled manylinux 64bits wheels to pip releases (PR #91)
62+
- Add quick start guide (PR #88)
63+
- Make doctest work on travis (PR #90)
64+
- Update documentation (PR #79, PR #84)
65+
- Solver for EMD in 1D (PR #89)
66+
- Solvers for regularized unbalanced OT (PR #87, PR#99)
67+
- Solver for Fused Gromov-Wasserstein (PR #86)
68+
- Add empirical Sinkhorn and empirical Sinkhorn divergences (PR #80)
69+
70+
Closed issues
71+
^^^^^^^^^^^^^
72+
73+
- Issue #59 fail when using "pip install POT" (new details in doc+
74+
hopefully wheels)
75+
- Issue #85 Cannot run gpu modules
76+
- Issue #75 Greenkhorn do not return log (solved in PR #76)
77+
- Issue #82 Gromov-Wasserstein fails when the cost matrices are
78+
slightly different
79+
- Issue #72 Macosx build problem
80+
81+
0.5.0 Year 2
82+
------------
83+
84+
*Sep 2018*
85+
86+
POT is 2 years old! This release brings numerous new features to the
87+
toolbox as listed below but also several bug correction.
88+
89+
| Among the new features, we can highlight a `non-regularized
90+
Gromov-Wasserstein
91+
solver <auto_examples/plot_gromov.html/>`__,
92+
a new `greedy variant of
93+
sinkhorn <all.html#ot.bregman.greenkhorn>`__,
94+
| `non-regularized <all.html#ot.lp.barycenter>`__,
95+
`convolutional
96+
(2D) <auto_examples/plot_convolutional_barycenter.html/>`__
97+
and `free
98+
support <auto_examples/plot_free_support_barycenter.html/>`__
99+
Wasserstein barycenters and
100+
`smooth <https://github.com/rflamary/POT/blob/prV0.5/notebooks/plot_OT_1D_smooth.html/>`__
101+
and
102+
`stochastic <all.html#ot.stochastic.sgd_entropic_regularization>`__
103+
implementation of entropic OT.
104+
105+
POT 0.5 also comes with a rewriting of ot.gpu using the cupy framework
106+
instead of the unmaintained cudamat. Note that while we tried to keed
107+
changes to the minimum, the OTDA classes were deprecated. If you are
108+
happy with the cudamat implementation, we recommend you stay with stable
109+
release 0.4 for now.
110+
111+
The code quality has also improved with 92% code coverage in tests that
112+
is now printed to the log in the Travis builds. The documentation has
113+
also been greatly improved with new modules and examples/notebooks.
114+
115+
This new release is so full of new stuff and corrections thanks to the
116+
old and new POT contributors (you can see the list in the
117+
`readme <https://github.com/rflamary/POT/blob/master/README.md>`__).
118+
119+
Features
120+
^^^^^^^^
121+
122+
- Add non regularized Gromov-Wasserstein solver (PR #41)
123+
- Linear OT mapping between empirical distributions and 90% test
124+
coverage (PR #42)
125+
- Add log parameter in class EMDTransport and SinkhornLpL1Transport (PR
126+
#44)
127+
- Add Markdown format for Pipy (PR #45)
128+
- Test for Python 3.5 and 3.6 on Travis (PR #46)
129+
- Non regularized Wasserstein barycenter with scipy linear solver
130+
and/or cvxopt (PR #47)
131+
- Rename dataset functions to be more sklearn compliant (PR #49)
132+
- Smooth and sparse Optimal transport implementation with entropic and
133+
quadratic regularization (PR #50)
134+
- Stochastic OT in the dual and semi-dual (PR #52 and PR #62)
135+
- Free support barycenters (PR #56)
136+
- Speed-up Sinkhorn function (PR #57 and PR #58)
137+
- Add convolutional Wassersein barycenters for 2D images (PR #64)
138+
- Add Greedy Sinkhorn variant (Greenkhorn) (PR #66)
139+
- Big ot.gpu update with cupy implementation (instead of un-maintained
140+
cudamat) (PR #67)
141+
142+
Deprecation
143+
^^^^^^^^^^^
144+
145+
Deprecated OTDA Classes were removed from ot.da and ot.gpu for version
146+
0.5 (PR #48 and PR #67). The deprecation message has been for a year
147+
here since 0.4 and it is time to pull the plug.
148+
149+
Closed issues
150+
^^^^^^^^^^^^^
151+
152+
- Issue #35 : remove import plot from ot/\ **init**.py (See PR #41)
153+
- Issue #43 : Unusable parameter log for EMDTransport (See PR #44)
154+
- Issue #55 : UnicodeDecodeError: 'ascii' while installing with pip
155+
156+
0.4 Community edition
157+
---------------------
158+
159+
*15 Sep 2017*
160+
161+
This release contains a lot of contribution from new contributors.
162+
163+
Features
164+
^^^^^^^^
165+
166+
- Automatic notebooks and doc update (PR #27)
167+
- Add gromov Wasserstein solver and Gromov Barycenters (PR #23)
168+
- emd and emd2 can now return dual variables and have max\_iter (PR #29
169+
and PR #25)
170+
- New domain adaptation classes compatible with scikit-learn (PR #22)
171+
- Proper tests with pytest on travis (PR #19)
172+
- PEP 8 tests (PR #13)
173+
174+
Closed issues
175+
^^^^^^^^^^^^^
176+
177+
- emd convergence problem du to fixed max iterations (#24)
178+
- Semi supervised DA error (#26)
179+
180+
0.3.1
181+
-----
182+
183+
*11 Jul 2017*
184+
185+
- Correct bug in emd on windows
186+
187+
0.3 Summer release
188+
------------------
189+
190+
*7 Jul 2017*
191+
192+
- emd\* and sinkhorn\* are now performed in parallel for multiple
193+
target distributions
194+
- emd and sinkhorn are for OT matrix computation
195+
- emd2 and sinkhorn2 are for OT loss computation
196+
- new notebooks for emd computation and Wasserstein Discriminant
197+
Analysis
198+
- relocate notebooks
199+
- update documentation
200+
- clean\_zeros(a,b,M) for removimg zeros in sparse distributions
201+
- GPU implementations for sinkhorn and group lasso regularization
202+
203+
V0.2
204+
----
205+
206+
*7 Apr 2017*
207+
208+
- New dimensionality reduction method (WDA)
209+
- Efficient method emd2 returns only tarnsport (in paralell if several
210+
histograms given)
211+
212+
V0.1.11 New years resolution
213+
----------------------------
214+
215+
*5 Jan 2017*
216+
217+
- Add sphinx gallery for better documentation
218+
- Small efficiency tweak in sinkhorn
219+
- Add simple tic() toc() functions for timing
220+
221+
V0.1.10
222+
-------
223+
224+
*7 Nov 2016* \* numerical stabilization for sinkhorn (log domain and
225+
epsilon scaling)
226+
227+
V0.1.9 DA classes and mapping
228+
-----------------------------
229+
230+
*4 Nov 2016*
231+
232+
- Update classes and examples for domain adaptation
233+
- Joint OT matrix and mapping estimation
234+
235+
V0.1.7
236+
------
237+
238+
*31 Oct 2016*
239+
240+
- Original Domain adaptation classes
241+
242+
PyPI version 0.1.3
243+
------------------
244+
245+
- pipy works
246+
247+
First pre-release
248+
-----------------
249+
250+
*28 Oct 2016*
251+
252+
It provides the following solvers: \* OT solver for the linear program/
253+
Earth Movers Distance. \* Entropic regularization OT solver with
254+
Sinkhorn Knopp Algorithm. \* Bregman projections for Wasserstein
255+
barycenter [3] and unmixing. \* Optimal transport for domain adaptation
256+
with group lasso regularization \* Conditional gradient and Generalized
257+
conditional gradient for regularized OT.
258+
259+
Some demonstrations (both in Python and Jupyter Notebook format) are
260+
available in the examples folder.

0 commit comments

Comments
 (0)