Age | Commit message (Collapse) | Author |
|
* fix bug np vs torch matmul
* typo error
* einsum projections ssw
* Test broadcast matmul
* einsum projections ssw
* Test broadcast matmul
* projections SSW with einsum
* reduce number of samples in test wasserstein_circle_unif
* Update releases.md
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* Improve Bures-Wasserstein distance
* Revert changes and modify sqrtm
* Fix typo
* Add changes to RELEASES.md
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* Fix typos in docstrings and examples
* A few more fixes
* Fix ref for `center_ot_dual` function
* Another typo
* Fix titles formatting
* Explicit empty line after math blocks
* Typo: asymmetric
* Fix code cell formatting for 1D barycenters
* Empirical
* Fix indentation for references
* Fixed all WARNINGs about title formatting
* Fix empty lines after math blocks
* Fix whitespace line
* Update changelog
* Consistent Gromov-Wasserstein
* More Gromov-Wasserstein consistency
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
example (#459)
* add sparsity-constrained ot funtionality and example
* correct typos; add projection_sparse_simplex
* add gradcheck; merge ot.sparse into ot.smooth.
* reuse existing ot.smooth functions with a new 'sparsity_constrained' reg_type
* address pep8 error
* add backends for
* update releases
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* make alpha diferentiable
* update release file
* debug tensorflow to_numpy
|
|
* W circle + SSW
* Tests + Example SSW_1
* Example Wasserstein Circle + Tests
* Wasserstein on the circle wrt Unif
* Example SSW unif
* pep8
* np.linalg.qr for numpy < 1.22 by batch + add python3.11 to tests
* np qr
* rm test python 3.11
* update names, tests, backend transpose
* Comment error batchs
* semidiscrete_wasserstein2_unif_circle example
* torch permute method instead of torch.permute for previous versions
* update comments and doc
* doc wasserstein circle model as [0,1[
* Added ot.utils.get_coordinate_circle to get coordinates on the circle in turn
* Bug cuda w_circle + gradient ssw
* Bug cuda w_circle + gradient ssw
* backend detach
* Add PR in Releases.md
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* Try circleci_redirector fix
* reùove fixed version pytest-cov
* use new codecov way to upload
* bad return
* proper pr in release fle
|
|
|
|
* relkase text
* correct typos
|
|
* Allow warmstart in sinkhorn and sinkhorn_log
* Added argument for warmstart of dual vectors in Sinkhorn-based methods in
* Add the number of the PR
* [WIP] CO-Optimal Transport
* Revert "[WIP] CO-Optimal Transport"
This reverts commit f3d36b2705013409ac69b346585e311bc25fcfb7.
* reformat with PEP8
* Fix W291 trailing whitespace error in pep8 test
* Rearange position of warmstart argument and edit its description
* Implementation of CO-Optimal Transport
* Optimize code and edit documentation
* fix backend bug in test cases
* fix backend bug
* fix backend bug
* Add examples on COOT
* Modify API and edit example
* Edit API
* minor edit of examples and release
* fix bug in coot
* fix doc examples
* more fix of doc
* restart CI
* reordering ref
* add more tests
* add more tests
* add test verbose
* fix PEP8 bug
* fix PEP8 bug
* fix PEP8 bug
* fix pytest bug
* edit doc for better display
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
Co-authored-by: Alexandre Gramfort <agramfort@fb.com>
|
|
entropic_partial_wasserstein work with backend (#449)
* add test of partial_wasserstein with torch tensors
* WIP: differentiable ot.partial.partial_wasserstein
* change test of torch partial
* make partial_wasserstein2 work with torch
* test backward through ot.partial.partial_wasserstein2
* add test of entropic_partial_wasserstein with torch tensors
* make entropic_partial_wasserstein work with torch tensors
* add test of backward through entropic_partial_wasserstein
* rm unused import
* test partial_wasserstein with all backends
* tests of partial fcts: check if torch is available
* partial: check if marginals are empty arrays
* add tests when marginals are empty arrays and/or m=None
* add PR to RELEASES.md
---------
Co-authored-by: Antoine Collas <22830806+antoinecollas@users.noreply.github.com>
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* Remove redundant abs()
* Update RELEASES.md
|
|
* 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
* fix exemples/gromov doc
* add fixed issue to releases.md
* fix bugs of gw_entropic and armijo to run on gpu
* add pr to releases.md
* fix pep8
* fix call to backend in line_search_armijo
* correct docstring generic_conditional_gradient
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
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>
|
|
* updayte pymanopt API step 1
* add realease information
* update requireents for tests on windows
|
|
* add method argument to sinkhron transport'
* update release
|
|
in `ot.bregman` (#437)
* Allow warmstart in sinkhorn and sinkhorn_log
* Added argument for warmstart of dual vectors in Sinkhorn-based methods in
* Add the number of the PR
* [WIP] CO-Optimal Transport
* Revert "[WIP] CO-Optimal Transport"
This reverts commit f3d36b2705013409ac69b346585e311bc25fcfb7.
* reformat with PEP8
* Fix W291 trailing whitespace error in pep8 test
* Rearange position of warmstart argument and edit its description
---------
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* W circle + SSW
* Tests + Example SSW_1
* Example Wasserstein Circle + Tests
* Wasserstein on the circle wrt Unif
* Example SSW unif
* pep8
* np.linalg.qr for numpy < 1.22 by batch + add python3.11 to tests
* np qr
* rm test python 3.11
* update names, tests, backend transpose
* Comment error batchs
* semidiscrete_wasserstein2_unif_circle example
* torch permute method instead of torch.permute for previous versions
* update comments and doc
* doc wasserstein circle model as [0,1[
* Added ot.utils.get_coordinate_circle to get coordinates on the circle in turn
|
|
* add gaussian modules
* add gaussian modules
* add PR to release.md
* Apply suggestions from code review
Co-authored-by: Alexandre Gramfort <alexandre.gramfort@m4x.org>
* Apply suggestions from code review
Co-authored-by: Alexandre Gramfort <alexandre.gramfort@m4x.org>
* Update ot/gaussian.py
* Update ot/gaussian.py
* add empirical bures wassertsein distance, fix docstring and test
* update to fit with new networkx API
* add test for jax et tf"
* fix test
* fix test?
* add empirical_bures_wasserstein_mapping
* fix docs
* fix doc
* fix docstring
* add tgnassou to contributors
* add more coverage for gaussian.py
* add deprecated function
* fix doc math"
"
* fix doc math"
"
* add remi flamary to authors of gaussiansmodule
* fix equation
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
Co-authored-by: Alexandre Gramfort <alexandre.gramfort@m4x.org>
|
|
* Pass warn argument downstream in sinkhorn2 method.
* releases.md
* Fix unittest.
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
empirical_sinkhorn_divergence (#422)
* fix stopThr hardcoded in some places
* added fix documentation in RELEASES.Md
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* Changes empirical_sinkhorn_divergence doc to mention that the entroipc term is not taken into account.
* change typo regularization->contribution
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
|
|
* new API for OT solver
* use itertools for product of parameters
* add tests for result class
* add tests for result class
* add tests for result class last time?
* add sinkhorn
* make partial OT bckend compatible
* add TV as unbalanced flavor
* better tests
* make smoth backend compatible and add l2 tregularizatio to solve
* add reularizedd unbalanced
* add test for more complex attibutes
* add test for more complex attibutes
* add generic unbalaned solver and implement it for ot.solve
* add entropy to possible regularization
* star of documentation for ot.solv
* weird new pep8
* documenttaion for function ot.solve done
* pep8
* Update ot/solvers.py
Co-authored-by: Alexandre Gramfort <alexandre.gramfort@m4x.org>
* update release file
* Apply suggestions from code review
Co-authored-by: Alexandre Gramfort <alexandre.gramfort@m4x.org>
* add test NotImplemented
* pep8
* pep8gcmp pep8!
* compute kl in backend
* debug tensorflow kl backend
Co-authored-by: Alexandre Gramfort <alexandre.gramfort@m4x.org>
|
|
* correct bug in DA l1lp with log
* better tests and speedup with smaller dataset size
* remove jax for log test
* remove trndorflow for log test
* pep8!
|
|
* Docstrings of weak.py updated
* releases.md
|
|
* Numpy ccompiler deprecation handled with setuptools ccompiler
* Remove useless OMP Macro, already provides _OPENMP
* RELEASES.md
* Remove forgotten temporary bug added for logging purposes
|
|
* Bug solve
* Releases.md updated
* pep8
* attempt to solve docs building bug
* releases.md
|
|
Co-authored-by: Gonzague de Carpentier <decarpentierg@gmail.com>
|
|
|
|
* Solve example throwing an error when executed on a GPU
* add PR to releases.md
* update pep8 command
* pep8
|
|
* Adding function for computing Sinkhorn Free Support barycenters
* Adding exampel on Free Support Sinkhorn Barycenter
* Fixing typo on free support sinkhorn barycenter example
* Adding info on new Free Support Barycenter solver
* Removing extra line so that code follows pep8
* Fixing issues with pep8 in example
* Correcting issues with pep8 standards
* Adding tests for free support sinkhorn barycenter
* Adding section on Sinkhorn barycenter to the example
* Changing distributions for the Sinkhorn barycenter example
* Removing file that should not be on the last commit
* Adding PR number to REALEASES.md
* Adding new contributors
* Update CONTRIBUTORS.md
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* Two lines added in the function emd2 to ensure that the distributions have the same mass (same as it already was in the function emd).
* The same mass test has been moved inside the function f(b) to be compatible with emd2 with multiple b.
* Test added.
The function test_emd_dimension_and_mass_mismatch (in test/test_ot.py) has been modified to check for mass mismatch with emd2.
* Add PR in releases.md
* Merge and add PR in releases.md
* Add name in contributors.md
* Correction contribution in contributors.md
* Move test on mass outside of functions f(b)
* Update doc of emd and emd2
Co-authored-by: Camille Le Coz <clecoz@camelot.ipsl.polytechnique.fr>
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* avoid overflow on openmp version of emd solver
* monothread version updated
* Fixed typo in readme
* added PR in releases
* typo in releases.md
* added a precision to releases.md
* added a precision to releases.md
* correct readme
* forgot to cast
* lower error
|
|
* Correct test_mm_convergence for cupy
* Fix bug where number of iterations is limited to 2^31
* Update RELEASES.md
* Replace size_t with long long
* Use uint64_t instead of long long
|
|
|
|
typo in releases
|
|
* fix transpose in sinkhorn barycenters
* add test for assymetric cost barycenters
* fix pep8
Co-authored-by: Hicham Janati <hicham.janati@inria.fr>
|
|
* Solve bug
* Update release file
|
|
* GWB first solver version
* tests + example for gwb (untested) + free_bar doc fix
* improved doc, fixed minor bugs, better example visu
* minor doc + visu fixes
* plot GWB pep8 fix
* fixed partial gromov test reproductibility
* added an animation for the GWB visu
* added PR num
* minor doc fixes + better gwb logo
|
|
* release text and number
* add examples in release fil build wheels
* switch gallery to release
* add much needed contributors file
* debug circleci
* une line of logos
* working logo
* back to stable sphinx galery
|
|
* center gradients for mass of emd2 and gw2
* debug fgw gradient
* debug fgw
|
|
* bugfix
* update refs partial OT
* fixes small typos in plot_partial_wass_and_gromov
* fix small bugs in partial.py
* update README
* pep8 bugfix
* modif doctest
* fix bugtests
* update on test_partial and test on the numerical precision on ot/partial
* resolve merge pb
* Delete partial.py
* update unbalanced: mm algo+plot
* update unbalanced: mm algo+plot
* update unbalanced: mm algo+plot
* update unbalanced: mm algo+plot
* update unbalanced: mm algo+plot
* add test mm algo unbalanced OT
* add test mm algo unbalanced OT
* add test mm algo unbalanced OT
* add test mm algo unbalanced OT
* add test mm algo unbalanced OT
* add test mm algo unbalanced OT
* add test mm algo unbalanced OT
* add test mm algo unbalanced OT
* update unbalanced: mm algo+plot
* update unbalanced: mm algo+plot
* update releases.md with new MM UOT algorithms
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* remove all cpu submodule and tests
* speedup tests gromov
|
|
or regularized OT (#360)
* add losses and plan computations and exmaple for dual oiptimization
* pep8
* add nice exmaple
* update awesome example stochasti dual
* add all tests
* pep8 + speedup exmaple
* add release info
|
|
* add gfactored ot
* pep8 and add doc
* add exmaple for factotred OT
* final number of PR
* correct test on backends
* remove useless loss
* better tests
|
|
* First draft
* Add matrix inverse and square root to backend
* Eigen decomposition for older versions of pytorch (1.8.1 and older)
* Corrected eigen decomposition for pytorch 1.8.1 and older
* Spectral theorem is a thing
* Optimization
* small optimization
* More functions converted
* pep8
* remove a warning and prepare torch meshgrid for future torch release (which will change default indexing)
* dots and pep8
* Meshgrid corrected for older version and prepared for future versions changes
* New backend functions
* Base transport
* LinearTransport
* All transport classes + pep8
* PR added to release file
* Jcpot barycenter test
* unbalanced with backend
* pep8
* bug solve
* test of domain adaptation with backends
* solve bug for tic toc & macos
* solving scipy deprecation warning
* solving scipy deprecation warning attempt2
* solving scipy deprecation warning attempt3
* A warning is triggered when a float->int conversion is detected
* bug solve
* docs
* release file updated
* Better handling of float->int conversion in EMD
* Corrected test for is_floating_point
* docs
* release file updated
* cupy does not allow implicit cast
* fromnumpy
* added test
* test da tf jax
* test unbalanced with no provided histogram
* using type_as argument in unif function correctly
* pep8
* transport plan cast in emd changed behaviour, now trying to cast as histogram's dtype, defaulting to cost matrix
Co-authored-by: Rémi Flamary <remi.flamary@gmail.com>
|
|
* Resolves gromov wasserstein backward bug
* release file updated
|
|
* 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>
|
|
* 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
|