Welcome to pygmtools documentation!¶
pygmtools provides graph matching solvers in Python and is easily accessible via the following command:
pip install pygmtools
Backends¶
By default the solvers are executed on the numpy
backend, and the required packages will be automatically
downloaded.
For advanced and professional users, the pytorch
backend is also available if you have installed and configured
a pytorch runtime. The pytorch
backend exploits the underlying GPU-acceleration feature, and also supports
integrating graph matching modules into your deep learning pipeline.
Features¶
To highlight, pygmtools has the following features:
Support various backends, including
numpy
which is universally accessible, and the state-of-the-art deep learning architecturepytorch
with GPU-support. The support of the following backends are also planned:tensorflow
,mindspore
,paddle
,jittor
;Support various solvers, including traditional combinatorial solvers and novel deep learning-based solvers;
Deep learning friendly, the operations are designed to best preserve the gradient during computation and batched operations support for the best performance.
Benchmarks¶
pygmtools is also featured with standard data interface of several graph matching benchmarks. We also maintain a repository containing non-trivial implementation of deep graph matching models, please check out ThinkMatch if you are interested!
Developers and Maintainers¶
pygmtools is currently developed and maintained by members from ThinkLab at Shanghai Jiao Tong University.
User Guide
API Reference
- pygmtools.benchmark
- pygmtools.dataset
- pygmtools.classic_solvers
- pygmtools.multi_graph_solvers
- pygmtools.utils
- pygmtools.utils.build_aff_mat
- pygmtools.utils.build_batch
- pygmtools.utils.compute_affinity_score
- pygmtools.utils.dense_to_sparse
- pygmtools.utils.from_numpy
- pygmtools.utils.gaussian_aff_fn
- pygmtools.utils.generate_isomorphic_graphs
- pygmtools.utils.inner_prod_aff_fn
- pygmtools.utils.to_numpy
- MultiMatchingResult