pyGSL
houses state-of-the-art implementations of graph structure learning (also called 'network topology inference'
or simply 'graph learning') models, as well as synthetic and real datasets across a variety of domains.
pyGSL
houses 4 types of models: ad-hoc, model-based, unrolling-based, and deep-learning-based. Model-based formulations often admit
iterative solution methods, and are implemented in GPU friendly ways when feasible. The unrolling-based methods
leverage the concept of algorithm unrolling to learn the values of the optimization parameters in the model-based
methods using a dataset. We build such models using Pytorch-Lightning making it easy
to scale models to (multi-)GPU training environments when needed.
Synthetic datasets include a wide range of network classes and many signal constructions (e.g. smooth, diffusion, etc). Real datasets include neuroimaging data (HCP-YA structural/functional connectivity graphs), social network co-location data, and more.
See instructions in /envs/environment.yml
for instructions on how to setup the required conda environment. Only tested on macOS and Ubuntu systems.
Please observe the MIT license that is listed in this repository.