Releases: ott-jax/ott
Releases · ott-jax/ott
0.4.0: GPU tests, re-adding jit, improved NN OT solvers, and misc.
What's Changed
- Fix badges by @michalk8 in #211
- Feature/faster gw init by @michalk8 in #213
- Fix/device array check by @michalk8 in #216
- Remove support for Python 3.7 by @michalk8 in #227
- chore: add yapf config to
pyproject.toml
by @SauravMaheshkar in #230 - Remove functional API by @michalk8 in #222
- Docs/notebooks myst by @michalk8 in #233
- [ci skip] Add
environment.yml
forbinder
by @michalk8 in #236 - Use
lax.cond
when computing error in Sinkhorn by @michalk8 in #235 - Fix/debiased entropic map by @michalk8 in #238
- Misc/tox by @michalk8 in #239
- Re-add
jit
argument by @michalk8 in #221 - Add GPU test runner by @michalk8 in #242
- Remove old
Transport
interface by @michalk8 in #243 - Remove shape check in
LRCGeometry
by @michalk8 in #247 - Add regularized costs by @michalk8 in #244
- Check only whether problem can be LR by @michalk8 in #248
- Improvements to the neural dual solver by @bamos in #219
New Contributors
- @SauravMaheshkar made their first contribution in #230
Full Changelog: 0.3.1...0.4.0
0.3.1 with new cost features, different code layout, changes in potentials handling. Some solvers in function form deprecated.
What's Changed
- Fix
jax.device_put
for potentials by @michalk8 in #183 - Introduce
primal_cost
anddual_cost
for Sinkhorn outputs (only primal for LR) for arbitrary geometries. by @marcocuturi in #184 - Feature/src layout by @michalk8 in #188
- Handle better inf with
p
parameter inSqPNorm
by @marcocuturi in #189 - Feature/graph normalized laplacian by @michalk8 in #191
- Update installation instruction by @michalk8 in #195
- Feature/center potentials by @michalk8 in #194
- Remove
jit
fromsolvers
by @michalk8 in #192 - Accelerating unbalanced OT by @michalk8 in #197
- Feature/depracate functional api by @michalk8 in #204
- Fixes numerical errors in Bures barycenter, and
sqrtm
, due to low default precision. by @marcocuturi in #205 - Update docstrings for deprecated functions by @michalk8 in #207
Full Changelog: 0.3.0...0.3.1
New organization for code; Changes in `costs` for `PointClouds`
The main changes in this version are twofold:
- Changes in
PointCloud
geometry, and more specifically handling of cost function. Thepower
parameter that was used to optionally pass ac(x,y) = CostFn(x,y) ** power
is now deprecated. One can add it manually by defining a customCostFn
. To compensate this change, a new class of translation invariant costs (TICost
) has been created, from which most costs now inherit, defined asc(x,y) = h(x-y)
. Additionally, to handle Brenier's theorem, the user has the option of passing on the legendre transform ofh
,h_legendre
. - The
core
folder was too horizontal, containing various modules. It has been reorganized and split into 3 modules that make more sense,problems
(to describe OT problems),solvers
(solve them) andinitializers
(as optional modules to help solvers). The latter two have an arborescence that reflects that inproblems
.
What's Changed
- fix point_clouds.ipynb by @marcocuturi in #159
- Deprecate
power
inPointCloud
, introduceTICost
and use it to compute Entropic (Brenier) maps. by @marcocuturi in #167 - Misc/project structure by @michalk8 in #176
Full Changelog: 0.2.11...0.3.0
adaptive momentum by default, Euclidean is now SqEuclidean (W2), Euclidean is for W1 and uses `jnp.linalg.norm` to ensure differentiability
What's Changed
- default momentum with start=300 by @marcocuturi in #155
- Unbalanced gromov by @LaetitiaPapaxanthos in #128
- Euclidean / SqEuclidean and changes in power by @marcocuturi in #157
Full Changelog: 0.2.10...0.2.11
Fix various bugs and add Meta initializer
What's Changed
- Make GMM documentation more visible, fix bug in M step of EM algorithm by @geoff-davis in #144
- Feature/initializers as literals by @michalk8 in #148
- Fix
fused_penalty
andscale_cost
in LRGW by @michalk8 in #147 - Add
dtype
property by @michalk8 in #150 - Meta OT Initializer by @bamos in #145
- fix power=1.0 using abs on cost values when needed by @marcocuturi in #153
New Contributors
- @geoff-davis made their first contribution in #144
Full Changelog: 0.2.9...0.2.10
0.2.9: new initializations for Sinkhorn, LR Sinkhorn and LR GW (including k-means++ implementations), entropic map, faster Sinkhorn implicit diff
What's Changed
- Feature/kmeans++ by @michalk8 in #120
- Feature/ Introduce initialization methods for Sinkhorn by @JTT94 in #98
- Pin
sphinx-book-theme>=0.3.3
by @michalk8 in #123 - Additional Docstrings and Comments to
NeuralDual
-Module by @bunnech in #122 - Allow
k-means
to be differentiable when using while loop by @michalk8 in #130 - Feature/graph geometry by @michalk8 in #126
- LR Sinkhorn improvements by @meyerscetbon in #111
- Refactor GW initialization by @michalk8 in #133
- Change LR initializer to random by @michalk8 in #134
- Generalized k-means initialization for LR Sinkhorn/Gromov-Wasserstein by @michalk8 in #135
- Switch to one linear system per implicit differentiation by @ersisimou in #136
- Feature/disable warm start by @michalk8 in #138
- Add entropic map by @michalk8 in #142
Full Changelog: 0.2.8...0.2.9
Extension of barycenters to (Fused) GW, several bug fixes around LR Sinkhorn, parallel (segment) code for Sinkhorn, inits for ICNNs
What's Changed
- Refactoring problems.py by @marcocuturi in #86
- Feature/gw losses by @michalk8 in #88
- Fix/lr linear apply by @michalk8 in #91
- Addition of ICNN Initialization Schemes by @bunnech in #90
- Fix/point cloud apply cost fn by @michalk8 in #93
- Feature/lr gw apply output by @michalk8 in #96
- Remove legacy online option by @michalk8 in #97
- Feature/fast tests by @michalk8 in #101
- Fix/axis norm by @michalk8 in #103
- Generic LR cost decomposition by @michalk8 in #99
- Remove pytest-memray from test req, use only in CI by @michalk8 in #107
- demo and fixes for barycenters of GMMs by @ersisimou in #89
- Add (F)GW barycenters by @michalk8 in #87
- Feature/notebook tests by @michalk8 in #108
- [ci skip] Fix duplicate bibtex entry and a typo by @michalk8 in #109
- GW different cost ranks by @michalk8 in #113
- segment_sinkhorn by @marcocuturi in #114
- Create CODE_OF_CONDUCT.md by @marcocuturi in #118
- Fix/padded scaling by @michalk8 in #116
Full Changelog: 0.2.7...0.2.8
Fixing continuous barycenter, cleaning up docs and more generally the packaging of OTT.
What's Changed
- Pre-commit by @michalk8 in #71
- Fix/online gw by @michalk8 in #80
- Feature/improve packaging by @michalk8 in #82
- Ersi gauss bary by @ersisimou in #81
New Contributors
- @ersisimou made their first contribution in #81
Full Changelog: 0.2.6...0.2.7
Quite a few bug fixes on jitting / scaling of costs / convergence
What's Changed
- Fix jit issue with relative epsilon and copying epsilons by @JTT94 in #52
- Bug/scale cost by @MUCDK in #54
- ensure 3 geom objects returned when copying epsilons by @JTT94 in #56
- fixed logic of
__call__
ofLRSinkhorn
to prevent uninterpretable error by @MUCDK in #57 - Project import generated by Copybara. by @LaetitiaPapaxanthos in #58
- General cost fn by @JTT94 in #61
- Set converged logic by @zoepiran in #62
- Fix
LRSinkhornOutput.apply
with batches by @michalk8 in #63 - Fix is_all_geoms_lr not returning by @michalk8 in #67
- Feature/quadratic problem scale by @michalk8 in #66
- Fix LR tests, fused_penalty property, tolerances by @michalk8 in #68
- add first version of SCOT demonstration notebook (Gromov-Wasserstein for multi-omics) by @antoinebelloir in #64
- Fix LR Gromov memory by @michalk8 in #70
- Fix
scale_cost
to LRGeometry, float/max-bound by @michalk8 in #72 - Update README to use Markdown math by @adrhill in #75
- Fix neural dual notebook by @lucaeyring in #76
New Contributors
- @JTT94 made their first contribution in #52
- @MUCDK made their first contribution in #54
- @antoinebelloir made their first contribution in #64
- @adrhill made their first contribution in #75
- @lucaeyring made their first contribution in #76
Full Changelog: 0.2.5...0.2.6