Skip to content
forked from Gorgotha/UMGW

Code for Multi-marginal Gromov--Wasserstein computations as well as unbalanced and fused versions

License

Notifications You must be signed in to change notification settings

pbarbarant/UMGW

 
 

Repository files navigation

Multi-Marginal Gromov-Wasserstein Transport and Barycentres

This repository contains the code for the paper 'Multi-Marginal Gromov-Wasserstein Transport and Barycentres'. A preprint version is available on arXiv.

Please cite the paper if you use the code.

Citation

  1. Florian Beier, Robert Beinert, Gabriele Steidl, 'Multi-Marginal Gromov-Wasserstein Transport and Barycenters', arXiv:2205.06725.

Requirements

The simulations have been performed with Python 3.8.8 and rely on

  • numpy 1.24.2,
  • scipy 1.10.0,
  • matplotlib 3.7.1,
  • pot 0.8.0,
  • tqdm 4.62.3,
  • anytree 2.8.0,
  • torch 1.10.0,
  • scikit-learn 1.0.1,
  • opencv-python 4.5.3.56,
  • plotly 5.3.1,
  • networkx 2.6.3,
  • seaborn 0.11.2.

Experiments

The numerical simulations can be reproduced using the script

  • MGW_complexity_test_euclidean.ipynb for the bimarginal spade-heart barycentre experiment (Figs 1, 2, 3),

  • MGW_complexity_test_euclidean-domain-multi-marginals.ipynb for the multimarginal heart barycentre experiment (Figs 4, 5),

  • non-flat-domains-progressive.ipynb for the progressive interpolation experiment (Fig 6),

  • fused_81_98.ipynb for the fused MNIST experiment (Figs 7, 8),

  • fused_camels.ipynb for the fused camel experiment (Fig 9),

  • particle_transfer.ipynb for the particle transfer experiment (Figs 10, 11).

Parts of the implementation relies on or is built on top of existing implementations from Python Optimal Transport and Unbalanced Gromov-Wasserstein Divergence. Some of the input data is based on The 2D shape structure dataset.

Contributing

The code is available under a MIT license.

About

Code for Multi-marginal Gromov--Wasserstein computations as well as unbalanced and fused versions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Jupyter Notebook 98.9%
  • Python 1.1%