Skip to main content

Federated Graph Learning

Project description

Federated Graph Learning

Documentation | Paper

FedGraph (Federated Graph) is a library built on top of PyTorch Geometric (PyG), Ray, and PyTorch to easily train Graph Neural Networks under federated or distributed settings.

It supports various federated training methods of graph neural networks under simulated and real federated environments and supports communication between clients and the central server for model update and information aggregation.

Main Focus

  • Federated Node Classification with Cross-Client Edges: Our library supports communicating information stored in other clients without affecting the privacy of users.

  • Federated Graph Classification: Our library supports federated graph classification with non-IID graphs.

Cross Platform Training

  • We support federated training across Linux, macOS, and Windows operating systems.

Library Highlights

Whether you are a federated learning researcher or a first-time user of federated learning toolkits, here are some reasons to try out FedGraph for federated learning on graph-structured data.

  • Easy-to-use and unified API: All it takes is 10-20 lines of code to get started with training a federated GNN model. GNN models are PyTorch models provided by PyG and DGL. The federated training process is handled by Ray. We abstract away the complexity of federated graph training and provide a unified API for training and evaluating FedGraph models.

  • Various FedGraph methods: Most of the state-of-the-art federated graph training methods have been implemented by library developers or authors of research papers and are ready to be applied.

  • Great flexibility: Existing FedGraph models can easily be extended for conducting your research. Simply inherit the base class of trainers and implement your methods.

  • Large-scale real-world FedGraph Training: We focus on the need for FedGraph applications in challenging real-world scenarios with privacy preservation, and support learning on large-scale graphs across multiple clients.

Installation

pip install fedgraph

Cite

Please cite our paper (and the respective papers of the methods used) if you use this code in your own work:

@article{yao2023fedgcn,
  title={FedGCN: Convergence-Communication Tradeoffs in Federated Training of Graph Convolutional Networks},
  author={Yao, Yuhang and Jin, Weizhao and Ravi, Srivatsan and Joe-Wong, Carlee},
  journal={Advances in Neural Information Processing Systems (NeurIPS)},
  year={2023}
}

Feel free to email us if you wish your work to be listed in the external resources. If you notice anything unexpected, please open an issue and let us know. If you have any questions or are missing a specific feature, feel free to discuss them with us. We are motivated to constantly make FedGraph even better.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fedgraph-0.1.1.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

fedgraph-0.1.1-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file fedgraph-0.1.1.tar.gz.

File metadata

  • Download URL: fedgraph-0.1.1.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for fedgraph-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2cb3b85c741b41f8bc1cd3ef45ff0e2a33899776c94e005ec239e79068b91f04
MD5 b8fa947aac0e9273dbd457e22172c4b5
BLAKE2b-256 1fefffa8a0a209c0572530bece9839dcec931f944fd56b24c491f77ef09abcee

See more details on using hashes here.

File details

Details for the file fedgraph-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fedgraph-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for fedgraph-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c98ced996df29ae1f820b596ddfb8a6ad0e853d1f731c1c6f2e3b9fa8cacbf3
MD5 3f08b67f378f4563991938baf32a7dcd
BLAKE2b-256 d084da749fa99735b8f83a87d4d0d881b1eab1aee94f44ffe33b9fff5630ba29

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page