ott.solvers.quadratic.gromov_wasserstein.GromovWasserstein
ott.solvers.quadratic.gromov_wasserstein.GromovWasserstein#
- class ott.solvers.quadratic.gromov_wasserstein.GromovWasserstein(*args, warm_start=None, quad_initializer=None, kwargs_init=None, **kwargs)[source]#
Gromov-Wasserstein solver.
- Parameters
args (
Any
) – Positional arguments forWassersteinSolver
.warm_start (
Optional
[bool
]) – Whether to initialize (low-rank) Sinkhorn calls using values from the previous iteration. If None, warm starts are not used for standard Sinkhorn, but used for low-rank Sinkhorn.quad_initializer (
Union
[Literal
[‘random’, ‘rank2’, ‘k-means’, ‘generalized-k-means’],BaseQuadraticInitializer
,None
]) –Quadratic initializer. If the solver is entropic,
QuadraticInitializer
is always used. Otherwise, the quadratic initializer wraps the low-rank Sinkhorn initializers:’random’ -
RandomInitializer
.’rank2’ -
Rank2Initializer
.’k-means’ -
KMeansInitializer
.’generalized-k-means’ -
GeneralizedKMeansInitializer
.
If None, the low-rank initializer will be selected in a problem-specific manner:
if both
geom_xx
andgeom_yy
arePointCloud
orLRCGeometry
,KMeansInitializer
is used.otherwise, use
RandomInitializer
.
kwargs_init (
Optional
[Mapping
[str
,Any
]]) – Keyword arguments when creating the initializer.kwargs (
Any
) – Keyword arguments forWassersteinSolver
.
Methods
create_initializer
(prob)Create quadratic, possibly low-rank initializer.
init_state
(prob, init, key)Initialize the state of the Gromov-Wasserstein iterations.
output_from_state
(state)Create an output from a loop state.
Attributes
Whether the solver is low-rank.
Whether to initialize (low-rank) Sinkhorn using previous solutions.