POT
POT copied to clipboard
[WIP] quantized gromov wasserstein solver
Types of changes
Implementation of first solvers for the quantized Fused Gromov-Wasserstein (qFGW) distance.
- creation of new files
ot/gromov/_quantized.py
andtest/gromov/test_quantized.py
. -
quantized_fused_gromov_wasserstein_partitioned
: main function to compute the OT between two partitioned joint spaces with minimal inputs to compute global and local alignments, so that the user can perform any partitioning and representant selection as pre-processing. A boolean optionbuild_OT
allows the user to construct the OT matrix between non-partitioned spaces which might require a lot of memory. Other inputs mainly relate to innerfused_gromov_wasserstein
,gromov_wasserstein
andemd_1d
solvers.
remark 1 : i) only the (F)GW conditional gradient solver is considered here. Note that authors also made use of the entropic projected gradient solver. ii) only the square loss is considered for both types of OT problems.
-
quantized_fused_gromov_wasserstein
: main function to compute the OT between two joint spaces with axioms used by authors to partition both spaces. Taking as inputs structure matricesC1
andC2
treated as graphs, optionally as feature matricesF1
andF2
, optionally other structure matricesC1_aux
andC2_aux
used for partitioning and representant selection implemented inget_graph_partition
andget_graph_representants
. -
quantized_fused_gromov_wasserstein_samples
: main function to compute the OT between two distributions in different spaces potentially endowed with features, with axioms used by authors to partition both spaces. Taking as inputs samplesX1
andX2
endowed with an euclidean geometry on their respective space, optionally with feature matricesF1
andF2
, where both can be considered for partitioning and representant selection (e.g kmeans) implemented inget_partition_and_representants_samples
.
Motivation and context / Related issue
How has this been tested (if it applies)
- tests for all configurations in
test.test_gromov.py::test_quantized_gromov
PR checklist
- [x] I have read the CONTRIBUTING document.
- [x] The documentation is up-to-date with the changes I made (check build artifacts).
- [x] All tests passed, and additional code has been covered with new tests.
- [x] I have added the PR and Issue fix to the RELEASES.md file.