fedgraph


Namefedgraph JSON
Version 0.0.9 PyPI version JSON
download
home_pagehttps://github.com/FedGraph/fedgraph
SummaryFederated Graph Learning
upload_time2024-02-04 22:15:47
maintainer
docs_urlNone
authorYuhang Yao, Jiayu Chang
requires_python>=3.9
license
keywords graph neural networks federated learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Federated Graph Learning

[pypi-url]: https://pypi.python.org/pypi/fedgraph

**[Documentation](https://docs.fedgraph.org)** | **[Paper](https://arxiv.org/abs/2201.12433)**

**FedGraph** *(Federated Graph)* is a library built on top of [PyTorch Geometric (PyG)](https://www.pyg.org/),
[Ray](https://docs.ray.io/), and [PyTorch](https://pytorch.org/) 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
```python
pip install fedgraph
```



## Cite

Please cite [our paper](https://arxiv.org/abs/2201.12433) (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](mailto:yuhangya@andrew.cmu.edu) 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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/FedGraph/fedgraph",
    "name": "fedgraph",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "Graph Neural Networks,Federated Learning",
    "author": "Yuhang Yao, Jiayu Chang",
    "author_email": "yuhangya@andrew.cmu.edu, jiayuc@andrew.cmu.edu",
    "download_url": "https://files.pythonhosted.org/packages/60/8f/ba0721a1780a88a413f71938502395c4fc51f9602be74296982ef442bce5/fedgraph-0.0.9.tar.gz",
    "platform": null,
    "description": "# Federated Graph Learning\n\n[pypi-url]: https://pypi.python.org/pypi/fedgraph\n\n**[Documentation](https://docs.fedgraph.org)** | **[Paper](https://arxiv.org/abs/2201.12433)**\n\n**FedGraph** *(Federated Graph)* is a library built on top of [PyTorch Geometric (PyG)](https://www.pyg.org/),\n[Ray](https://docs.ray.io/), and [PyTorch](https://pytorch.org/) to easily train Graph Neural Networks\nunder federated or distributed settings.\n\nIt 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.\n\n## Main Focus\n- **Federated Node Classification with Cross-Client Edges**: Our library supports communicating information stored in other clients without affecting the privacy of users.\n\n- **Federated Graph Classification**: Our library supports federated graph classification with non-IID graphs.\n\n\n\n\n## Cross Platform Training\n\n- We support federated training across Linux, macOS, and Windows operating systems.\n\n## Library Highlights\n\nWhether 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.\n\n- **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.\n\n- **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.\n\n- **Great flexibility**: Existing FedGraph models can easily be extended for conducting your research. Simply inherit the base class of trainers and implement your methods.\n\n- **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.\n\n## Installation\n```python\npip install fedgraph\n```\n\n\n\n## Cite\n\nPlease cite [our paper](https://arxiv.org/abs/2201.12433) (and the respective papers of the methods used) if you use this code in your own work:\n\n```\n@article{yao2023fedgcn,\n  title={FedGCN: Convergence-Communication Tradeoffs in Federated Training of Graph Convolutional Networks},\n  author={Yao, Yuhang and Jin, Weizhao and Ravi, Srivatsan and Joe-Wong, Carlee},\n  journal={Advances in Neural Information Processing Systems (NeurIPS)},\n  year={2023}\n}\n```\n\nFeel free to [email us](mailto:yuhangya@andrew.cmu.edu) if you wish your work to be listed in the [external resources]().\nIf you notice anything unexpected, please open an [issue]() and let us know.\nIf you have any questions or are missing a specific feature, feel free [to discuss them with us]().\nWe are motivated to constantly make FedGraph even better.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Federated Graph Learning",
    "version": "0.0.9",
    "project_urls": {
        "Homepage": "https://github.com/FedGraph/fedgraph"
    },
    "split_keywords": [
        "graph neural networks",
        "federated learning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7f2f8b104a974cf6e3173136f6df9275f65bec175a03eb2987b6c0f659972f8",
                "md5": "2a5896b90d3666b4f1ce799a921809bb",
                "sha256": "886583e57de934dc27bb90ac6e42b21dbc02d5632eb5e513245d4200e344a7ce"
            },
            "downloads": -1,
            "filename": "fedgraph-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2a5896b90d3666b4f1ce799a921809bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 16702,
            "upload_time": "2024-02-04T22:15:45",
            "upload_time_iso_8601": "2024-02-04T22:15:45.968440Z",
            "url": "https://files.pythonhosted.org/packages/f7/f2/f8b104a974cf6e3173136f6df9275f65bec175a03eb2987b6c0f659972f8/fedgraph-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "608fba0721a1780a88a413f71938502395c4fc51f9602be74296982ef442bce5",
                "md5": "7a254bb73e4d2d1d37ae459227dff879",
                "sha256": "b122fda513f4291854ca134281c3cacd54d8613a1cb209efd70e3beec32848f4"
            },
            "downloads": -1,
            "filename": "fedgraph-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "7a254bb73e4d2d1d37ae459227dff879",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 16150,
            "upload_time": "2024-02-04T22:15:47",
            "upload_time_iso_8601": "2024-02-04T22:15:47.062210Z",
            "url": "https://files.pythonhosted.org/packages/60/8f/ba0721a1780a88a413f71938502395c4fc51f9602be74296982ef442bce5/fedgraph-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-04 22:15:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "FedGraph",
    "github_project": "fedgraph",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "fedgraph"
}
        
Elapsed time: 0.18214s