|
| 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