summaryrefslogtreecommitdiff
path: root/ot/gromov.py
AgeCommit message (Collapse)Author
2023-03-09[MRG] Semi-relaxed (fused) gromov-wasserstein divergence and improvements of ↵Cédric Vincent-Cuaz
gromov-wasserstein solvers (#431) * maj gw/ srgw/ generic cg solver * correct pep8 on current state * fix bug previous tests * fix pep8 * fix bug srGW constC in loss and gradient * fix doc html * fix doc html * start updating test_optim.py * update tests gromov and optim - plus fix gromov dependencies * add symmetry feature to entropic gw * add symmetry feature to entropic gw * add exemple for sr(F)GW matchings * small stuff * remove (reg,M) from line-search/ complete srgw tests with backend * remove backend repetitions / rename fG to costG/ fix innerlog to True * fix pep8 * take comments into account / new nx parameters still to test * factor (f)gw2 + test new backend parameters in ot.gromov + harmonize stopping criterions * split gromov.py in ot/gromov/ + update test_gromov with helper_backend functions * manual documentaion gromov * remove circular autosummary * trying stuff * debug documentation * alphabetic ordering of module * merge into branch * add note in entropic gw solvers --------- Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
2022-09-12update docstring of ot.gromov.init_matrix (#398)decarpentierg
Co-authored-by: Gonzague de Carpentier <decarpentierg@gmail.com>
2022-08-01[MRG] Solve example throwing an error when executed on a GPU (#391)Nathan Cassereau
* Solve example throwing an error when executed on a GPU * add PR to releases.md * update pep8 command * pep8
2022-04-11[MRG] Center gradients for mass of emd2 and gw2 (#363)Rémi Flamary
* center gradients for mass of emd2 and gw2 * debug fgw gradient * debug fgw
2022-03-02[MRG] Gromov_Wasserstein2 not performing backward properly on GPU (#352)Nathan Cassereau
* Resolves gromov wasserstein backward bug * release file updated
2022-02-11[MRG] GW dictionary learning (#319)Cédric Vincent-Cuaz
* add fgw dictionary learning feature * add fgw dictionary learning feature * plot gromov wasserstein dictionary learning * Update __init__.py * fix pep8 errors exact E501 line too long * fix last pep8 issues * add unitary tests for (F)GW dictionary learning without using autodifferentiable functions * correct tests for (F)GW dictionary learning without using autodiff * correct tests for (F)GW dictionary learning without using autodiff * fix docs and notations * answer to review: improve tests, docs, examples + make node weights optional * fix pep8 and examples * improve docs + tests + thumbnail * make example faster * improve ex * update README.md * make GDL tests faster Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
2022-02-02[MRG] Add weak OT solver (#341)Rémi Flamary
* add info in release file * update tests * pep8 * add weak OT example * update plot in doc * correction ewample with empirical sinkhorn * better thumbnail * comment from review * update documenation
2021-12-09[MRG] Tensorflow backend & Benchmarker & Myst_parser (#316)Nathan Cassereau
* First batch of tf methods (to be continued) * Second batch of method (yet to debug) * tensorflow for cpu * add tf requirement * pep8 + bug * small changes * attempt to solve pymanopt bug with tf2 * attempt #2 * attempt #3 * attempt 4 * docstring * correct pep8 violation introduced in merge conflicts resolution * attempt 5 * attempt 6 * just a random try * Revert "just a random try" This reverts commit 8223e768bfe33635549fb66cca2267514a60ebbf. * GPU tests for tensorflow * pep8 * attempt to solve issue with m2r2 * Remove transpose backend method * first draft of benchmarker (need to correct time measurement) * prettier bench table * Bitsize and prettier device methods * prettified table bench * Bug corrected (results were mixed up in the final table) * Better perf counter (for GPU support) * pep8 * EMD bench * solve bug if no GPU available * pep8 * warning about tensorflow numpy api being required in the backend.py docstring * Bug solve in backend docstring * not covering code which requires a GPU * Tensorflow gradients manipulation tested * Number of warmup runs is now customizable * typo * Remove some warnings while building docs * Change prettier_device to device_type in backend * Correct JAX mistakes preventing to see the CPU if a GPU is present * Attempt to solve JAX bug in case no GPU is found * Reworked benchmarks order and results storage & clear GPU after usage by benchmark * Add bench to backend docstring * better benchs * remove useless stuff * Better device_type * Now using MYST_PARSER and solving links issue in the README.md / online docs
2021-12-06[MRG] Fix issue 317 (#318)Hongwei Jin
* Fix issue 317 * Update with docs and tests Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
2021-12-03[MRG] Cupy backend (#315)Nathan Cassereau
* Cupy backend * pep8 + bug * working even if cupy not installed * attempt to force codecov to ignore cupy because no gpu can be used for testing on github * docstring * readme
2021-11-04[MRG] Make gromov loss differentiable wrt matrices and weights (#302)Rémi Flamary
* grmov differentable * new stuff * test gromov gradients * fgwdifferentiable * fgw tested * correc name test * add awesome example with gromov optimizatrion * pep8+ typos * damn pep8 * thunbnail * remove prints
2021-11-03[MRG] Docs updates (#298)ncassereau-idris
* bregman docs * sliced docs * docs partial * unbalanced docs * stochastic docs * plot docs * datasets docs * utils docs * dr docs * dr docs corrected * smooth docs * docs da * pep8 * docs gromov * more space after min and argmin * docs lp * bregman docs * bregman docs mistake corrected * pep8 Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
2021-11-02[MRG] Backend for gromov (#294)ncassereau-idris
* bregman: small correction * gromov backend first draft * Removing decorators * Reworked casting method * Bug solve * Removing casting * Bug solve * toarray renamed todense ; expand_dims removed * Warning (jax not supporting sparse matrix) moved * Mistake corrected * test backend * Sparsity test for older versions of pytorch * Trying pytorch/1.10 * Attempt to correct torch sparse bug * Backend version of gromov tests * Random state introduced for remaining gromov functions * review changes * code coverage * Docs (first draft, to be continued) * Gromov docs * Prettified docs * mistake corrected in the docs * little change Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
2021-10-27[WIP] Sinkhorn in log space (#290)Rémi Flamary
* adda sinkhorn log and working sinkhorn2 function * more tests pass * more tests pass * it works but not by default yet * remove warningd * update circleci doc * update circleci doc * new sinkhorn implemeted but not by default * better * doctest pass * test doctest * new test utils * remove pep8 errors * remove pep8 errors * doc new implementtaion with log * test sinkhorn 2 * doc for log implementation
2021-10-25[MRG] Bregman backend (#280)ncassereau-idris
* Bregman * Resolve conflicts * Bug solve * Bregman updated for JAX compatibility * Tests coherence between backend improved * No longer enforcing 64 bits operations on Jax except for tests * Now using mixtures, to make backend dependent tests with less code * Better test skipping code * Pep8 + test optimizations * redundancy removed * Docs * Typo corrected * Typo * Typo * Docs * Docs * pep8 * Backend docs * Prettier docs * Mistake corrected * small changes * Better wording Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
2021-09-17[MRG] Implementation of two news algorithms: SaGroW and PoGroW. (#275)Tanguy
* Add two new algorithms to solve Gromov Wasserstein: Sampled Gromov Wasserstein and Pointwise Gromov Wasserstein. * Correct some lines in SaGroW and PoGroW to follow pep8 guide. * Change nb_samples name. Use rdm state. Change symmetric check. * Change names of len(p) and len(q) in SaGroW and PoGroW. * Re-add some deleted lines in the comments of gromov.py Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
2021-04-19[MRG] Cleanup test warnings (#242)Rémi Flamary
* remove warnings in tests from docstrings * working tets for bregman implemneted methods * pep8
2020-04-24pep8Rémi Flamary
2020-04-24better doc per moduleRémi Flamary
2020-03-10fixing trailing and before arithmetic operation whitespace issuesNemo Fournier
2020-03-09clean and complete the document of fgw related functionsNemo Fournier
2020-03-09fix fgw alpha parameter implementationNemo Fournier
2019-11-13fix log bug in gromov_wasserstein2Kilian
2019-07-09first pass with adding pydocstyle in makefileAlexandre Gramfort
2019-06-25alpha for documentationRémi Flamary
2019-06-25pep8Rémi Flamary
2019-06-25cleanup documentation gromovRémi Flamary
2019-06-04changes forgotten comentstvayer
2019-05-29code review1tvayer
2019-05-29Doc+armijotvayer
2019-05-29test checktvayer
2019-05-29Merge remote-tracking branch 'rflamary/master'tvayer
merge pot
2019-05-29pep8tvayer
2019-05-29Tests + contributionstvayer
2019-05-28solve conlicttvayer
2019-05-28bary fgwtvayer
2019-05-28FGW+gromov changestvayer
2019-03-15correction doc in gromov.pyRémi Flamary
2018-05-30update examples and notebooksRémi Flamary
2018-03-21add entropic gromov test for 90+% corerageRémi Flamary
2018-03-21add externals for function signatureRémi Flamary
2018-02-16should pass tests nowRémi Flamary
2018-02-16better pep8 but not solvedRémi Flamary
2018-02-16update examplesRémi Flamary
2018-02-15awesome documentationRémi Flamary
2018-02-15add documentationRémi Flamary
2018-02-15large update gromovRémi Flamary
2017-09-13Corrections on Gromovncourty
2017-09-13Corrections on GromovNicolas Courty
2017-09-12Corrections on GromovNicolas Courty