GraphGallery
GraphGallery is a gallery for benchmarking Graph Neural Networks
Install / Use
/learn @EdisonLeeeee/GraphGalleryREADME
GraphGallery
GraphGallery is a gallery for benchmarking Graph Neural Networks (GNNs) based on pure PyTorch backend. Alteratively, Pytorch Geometric (PyG) and Deep Graph Library (DGL) backend are also available in GraphGallery to facilitate your implementations.
💨 NEWS
- November 20, 2021: We now no longer support
TensorFlowbackend. - November 20, 2021: The module
graphgallery.attackis deprecated, users may refer to GraphWar for more information.
🚀 Installation
Please make sure you have installed PyTorch. Also, Pytorch Geometric (PyG) and Deep Graph Library (DGL) are alternative choices.
Install from source:
# Recommended
git clone https://github.com/EdisonLeeeee/GraphGallery.git && cd GraphGallery
pip install -e . --verbose
where -e means "editable" mode so you don't have to reinstall every time you make changes.
NOTE: GraphGallery is a frequently updated package and DO NOT install GraphGallery with pip, we're currently working on releasing a binary distribution on PyPI, stay tuned!
🤖 Implementations
In detail, the following methods are currently implemented:
Node Classification
| Method | Author | Paper | PyTorch | PyG | DGL | | ------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------ | ------------------ | | ChebyNet | Michaël Defferrard et al. | Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering (NeurIPS'16) | :heavy_check_mark: | | | | GCN | Thomas N. Kipf et al. | Semi-Supervised Classification with Graph Convolutional Networks (ICLR'17) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | GraphSAGE | William L. Hamilton et al. | Inductive Representation Learning on Large Graphs (NeurIPS'17) | :heavy_check_mark: | :heavy_check_mark: | | | FastGCN | Jie Chen et al. | FastGCN: Fast Learning with Graph Convolutional Networks via Importance Sampling (ICLR'18) | :heavy_check_mark: | | | | GAT | Petar Veličković et al. | Graph Attention Networks (ICLR'18) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | SGC | Felix Wu et al. | Simplifying Graph Convolutional Networks (ICLR'19) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | GWNN | Bingbing Xu et al. | Graph Wavelet Neural Network (ICLR'19) | :heavy_check_mark: | | | | ClusterGCN | Wei-Lin Chiang et al. | Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks (KDD'19) | :heavy_check_mark: | | | | DAGNN | Meng Liu et al. | Towards Deeper Graph Neural Networks (KDD'20) | :heavy_check_mark: | | :heavy_check_mark: | | GDC | Johannes Klicpera et al. | Diffusion Improves Graph Learning (NeurIPS'19) | :heavy_check_mark: | | | | TAGCN | Jian Du et al. | Topology Adaptive Graph Convolutional Networks (arxiv'17) | :heavy_check_mark: | | | | APPNP, PPNP | Johannes Klicpera et al. | Predict then Propagate: Graph Neural Networks meet Personalized PageRank (ICLR'19) | :heavy_check_mark: | | :heavy_check_mark: | | PDN | Benedek Rozemberczki et al. | Pathfinder Discovery Networks for Neural Message Passing (ICLR'21) | | :heavy_check_mark: | | | SSGC | Zhu et al. | Simple Spectral Graph Convolution (ICLR'21) | :heavy_check_mark: | | | | AGNN | Kiran K. Thekumparampil al. | Attention-based Graph Neural Network for semi-supervised learning (ICLR'18 openreview) | :heavy_check_mark: | | | | ARMA | Bianchi et al. | Graph Neural Networks with convolutional ARMA filters (Arxiv'19) | | | | | GraphMLP | Yang Hu et al. | Graph-MLP: Node Classification without Message Passing in Graph (Arxiv'21) | :heavy_check_mark: | | | | LGC, EGC, hLGC | Luca Pasa et al. | Simple Graph Convolutional Networks (Arxiv'21) | | | :heavy_check_mark: | | GRAND | Wenzheng Feng et al. | Graph Random Neural Network for Semi-Supervised Learning on Graphs (NeurIPS'20) | | | :heavy_check_mark: | | AlaGCN, AlaGAT | Yiqing Xie et al. | When Do GNNs Work: Understanding and Improving Neighborhood Aggregation (IJCAI'20) | | | :heavy_check_mark: | | JKNet | Keyulu Xu et al. | Representation Learning on Graphs with Jumping Knowledge Networks (ICML'18) | | | :heavy_check_mark: | | MixHop | Sami Abu-El-Haija et al. | MixHop: Higher-Order Graph Convolutional Architecturesvia Sparsified Neighborhood Mixing (ICML'19) | | | :heavy_check_mark: | | DropEdge | Yu Rong et al. | DropEdge: Towards Deep Graph Convolutional Networks on Node Classification (ICML'20) | | :heavy_check_mark: | |
