GammaGL  by BUPT-GAMMA

A multi-backend graph learning library

Created 4 years ago
256 stars

Top 98.5% on SourcePulse

GitHubView on GitHub
Project Summary

A multi-backend graph learning library, GammaGL addresses the challenge of developing graph neural networks (GNNs) across diverse deep learning frameworks and hardware. It targets researchers and engineers by providing a unified, PyTorch Geometric (PyG)-like API that abstracts away backend complexities, enabling code portability and flexibility. The primary benefit is the ability to write GNN code once and run it seamlessly with TensorFlow, PyTorch, PaddlePaddle, or MindSpore, on hardware like Nvidia GPUs or Huawei Ascend accelerators.

How It Works

GammaGL is built upon TensorLayerX, a framework-agnostic deep learning library. This foundation allows GammaGL to support multiple backends while maintaining a consistent, tensor-centric API that closely mirrors PyTorch Geometric. This design choice simplifies development and experimentation by allowing users to leverage their existing PyG knowledge. The library's core advantage lies in its ability to execute the same GNN code across different deep learning frameworks and hardware platforms without modification, significantly reducing development overhead and increasing research agility.

Quick Start & Requirements

Highlighted Details

  • Supports TensorFlow, PyTorch, PaddlePaddle, and MindSpore backends through TensorLayerX.
  • Features a PyG-like API, easing adoption for users familiar with PyTorch Geometric.
  • Enables unified code execution across different hardware, including Nvidia GPUs and Huawei Ascend accelerators.
  • Offers a comprehensive collection of over 70 GNN models, including categories for contrastive learning and heterogeneous graph learning.
  • The v0.6.0 release introduced a single gammagl package for CPU/GPU environments and made LLM/GFM dependencies optional.

Maintenance & Community

Developed by the GammaGL Team [GAMMA LAB] and Peng Cheng Laboratory, the project has received recognition, including the 启智社区优秀孵化项目奖 in 2023 and contributed to a project that won the 中国电子学会科技进步一等奖 in 2022. Community engagement is encouraged through the 启智社区 and direct contribution channels like GitHub issues or email.

Licensing & Compatibility

The specific open-source license for GammaGL is not explicitly stated in the provided text. Compatibility is designed to be broad, supporting major deep learning frameworks like TensorFlow, PyTorch, PaddlePaddle, and MindSpore.

Limitations & Caveats

The MindSpore backend currently exhibits experimental issues with its training components, which are slated for future fixes. Installation guidance is primarily targeted at Python 3.9+ on Linux systems. Additionally, optional extensions for Large Language Models (LLMs) and Graph Foundation Models (GFMs) introduce substantial dependency requirements.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
0
Star History
2 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.