支持多深度学习框架的图神经网络算法库GammaGL
北邮GAMMA LAB 与鹏城实验室最新开源图神经网络算法库Gamma Graph Library (GammaGL),基于TensorLayerX开发,支持多后端深度学习框架,如TensorFlow、PyTorch、PaddlePaddle、MindSpore。
除此之外,GammaGL与主流的PyTorch Geometric (PyG) 的接口设计非常接近,你可以当做支持TensorFlow、Paddle、MindSpore的PyG来进行开发,一键即可切换后端深度学习框架。同时,我们提供了二十几个主流经典的模型,供大家复用。
本文将介绍三个方面内容:
根据背景介绍GammaGL的两大特点:支持多后端和类PyG的设计原则;
GammaGL使用方法。
GammaGL整体架构;
启智社区开源地址:https://git.openi.org.cn/GAMMALab/GammaGL
GitHub开源地址:https://github.com/BUPT-GAMMA/GammaGL
类PyG的使用方法与用户体验
PyG在Github已获得14.8k stars,无疑是最受欢迎的图神经网络框架之一。同时,PyG是PyTorch-on-the-rocks,即使用Tensor-centric的API,并接近原生PyTorch的设计原则,使得其与PyTorch一样拥有较高的易用性。所以,PyG也积累了大量的用户,顶会源码中也少不了PyG的身影。
因此,GammaGL借鉴了PyG的设计框架,如Tensor-centric的API设计、类torchvision的数据变换与增强等。如果你是一个PyG的用户或非常熟悉PyG,GammaGL将会非常友好,也将会扩展成为TensorFlow Geometric、Paddle Geometric、MindSpore Geometric。
预训练模型
GammaGL提供了二十余个算法供大家使用,包含同质图上一些经典的模型、对比学习模型、异质图神经网络模型等。
| TensorFlow | PyTorch | Paddle | MindSpore | |
|---|---|---|---|---|
| GCN [ICLR 2017] | ||||
| GAT [ICLR 2018] | ||||
| GraphSAGE [NeurIPS 2017] | ||||
| ChebNet [NeurIPS 2016] | ||||
| GCNII [ICLR 2017] | ||||
| JKNet [ICML 2018] | ||||
| DiffPool [NeurIPS 2018] | ||||
| SGC [ICML 2019] | ||||
| GIN [ICLR 2019] | ||||
| APPNP [ICLR 2019] | ||||
| AGNN [arxiv] | ||||
| SIGN [ICML 2020 Workshop] | ||||
| DropEdge [ICLR 2020] | ||||
| GATv2 [ICLR 2021] | ||||
| GPRGNN [ICLR 2021] | ||||
| FAGCN [AAAI 2021] | ||||
| GNN-Film [PMLR 2020] | ||||
| GraphGAN [AAAI 2018] | ||||
| HardGAT [KDD 2019] | ||||
| MixHop [ICML 2019] | ||||
| PNA [NeurIPS 2020] | ||||
| GEN [WWW 2021] |
| Contrastive Learning | TensorFlow | PyTorch | Paddle | MindSpore |
|---|---|---|---|---|
| DGI [ICLR 2019] | ||||
| GRACE [ICML 2020 Workshop] | ||||
| MVGRL [ICML 2020] | ||||
| InfoGraph [ICLR 2020] | ||||
| MERIT [IJCAI 2021] |
| Heterogeneous Graph Learning | TensorFlow | PyTorch | Paddle | MindSpore |
|---|---|---|---|---|
| RGCN [ESWC2018] | ||||
| HAN [WWW 2019] | ||||
| HGT [WWW 2020] | ||||
| SimpleHGN [KDD 2021] |