Implementation of Low Rank Gromov-Wasserstein by laudavid · Pull Request #614 · PythonOT/POT
Types of changes
This PR is for the implementation of the Low Rank Gromov-Wasserstein solver.
Paper reference:
Scetbon, M., Peyré, G. & Cuturi, M. (2022).
"Linear-Time GromovWasserstein Distances using Low Rank Couplings and Costs".
In International Conference on Machine Learning (ICML), 2022.
Changes made:
- Created the
lowrank_gromov_wassersteinfunction inot/lowrank.py - Created the
_flat_product_operatorfunction inot/lowrank.pysince it is needed for the low rank GW solver - Added tests for each new functions in
test\lowrank.py - Added the
lowrank_gromov_wassersteinsolver in__init__.py - Added the paper reference in
READ.me - Created an example for Low Rank GW (
plot_lowrank_GW.py) inexamples/others
Motivation and context / Related issue
Adding a new low rank solver for gromov-wasserstein.
No existing issue is linked to this PR.
How has this been tested (if it applies)
Tests for each function are available in test_lowrank.py.
The Low Rank GW solver has also been tested by reproducing Figure 2 from the paper.
PR checklist
- I have read the CONTRIBUTING document.
- The documentation is up-to-date with the changes I made (check build artifacts).
- All tests passed, and additional code has been covered with new tests.
- I have added the PR and Issue fix to the RELEASES.md file.