TensorFlow or PyTorch, both!
GraphGallery is a gallery for benchmarking Graph Neural Networks (GNNs) and Graph Adversarial Learning with TensorFlow 2.x and PyTorch backend. Besides, Pytorch Geometric (PyG) backend and Deep Graph Library (DGL) backend now are available in GraphGallery.
# Outdated
pip install -U graphgallery
or
# 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.
In detail, the following methods are currently implemented:
ChebyNet from Michaël Defferrard et al, 📝Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering (NeurIPS'16)
[:octocat:TensorFLow] [🔥PyTorch]
GCN from Thomas N. Kipf et al, 📝Semi-Supervised Classification with Graph Convolutional Networks (ICLR'17)
[:octocat:TensorFLow] [🔥PyTorch] [🔥PyG] [🔥DGL]
GraphSAGE from William L. Hamilton et al, 📝Inductive Representation Learning on Large Graphs (NeurIPS'17)
[:octocat:TensorFLow] [🔥PyTorch]
FastGCN from Jie Chen et al, 📝FastGCN: Fast Learning with Graph Convolutional Networks via Importance Sampling (ICLR'18)
[:octocat:TensorFLow] [🔥PyTorch]
LGCN from Hongyang Gao et al, 📝Large-Scale Learnable Graph Convolutional Networks (KDD'18)
[:octocat:TensorFLow] [🔥PyTorch]
GAT from Petar Veličković et al, 📝Graph Attention Networks (ICLR'18)
[:octocat:TensorFLow] [🔥PyTorch] [🔥PyG]
SGC from Felix Wu et al, 📝Simplifying Graph Convolutional Networks (ICLR'19)
[:octocat:TensorFLow] [🔥PyTorch] [🔥PyG]
GWNN from Bingbing Xu et al, 📝Graph Wavelet Neural Network (ICLR'19)
[:octocat:TensorFLow] [🔥PyTorch]
GMNN from Meng Qu et al, 📝Graph Attention Networks (ICLR'19)
[:octocat:TensorFLow] [🔥PyTorch]
ClusterGCN from Wei-Lin Chiang et al, 📝Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks (KDD'19)
[:octocat:TensorFLow] [🔥PyTorch] [🔥PyG]
DAGNN from Meng Liu et al, 📝Towards Deeper Graph Neural Networks (KDD'20)
[:octocat:TensorFLow] [🔥PyTorch]
GDC from Johannes Klicpera et al, 📝Diffusion Improves Graph Learning (NeurIPS'19)
[:octocat:TensorFLow] [🔥PyTorch] [🔥PyG]
TAGCN from Du et al, 📝Topology Adaptive Graph Convolutional Networks (arxiv'17)
[:octocat:TensorFLow] [🔥PyTorch]
APPNP, PPNP from Johannes Klicpera et al, 📝Predict then Propagate: Graph Neural Networks meet Personalized PageRank (ICLR'19)
[:octocat:TensorFLow(APPNP)] [:octocat:TensorFLow(PPNP)] [🔥PyTorch(APPNP)] [🔥PyTorch(PPNP)]
PDN from Benedek Rozemberczki et al, 📝Pathfinder Discovery Networks for Neural Message Passing (ICLR'21)
SSGC from Zhu et al, 📝Simple Spectral Graph Convolution (ICLR'21)
[:octocat:TensorFLow] [🔥PyTorch]
AGNN from Zhu et al, 📝Attention-based Graph Neural Network for semi-supervised learning (ICLR'18 openreview)
[:octocat:TensorFLow] [🔥PyTorch]
ARMA from Bianchi et al., 📝Graph Neural Networks with convolutional ARMA filters (Arxiv'19)
[:octocat:TensorFLow] [🔥PyTorch]
GraphMLP from Yang Hu et al., 📝Graph-MLP: Node Classification without Message Passing in Graph (Arxiv'21)
RobustGCN from Petar Veličković et al, 📝Robust Graph Convolutional Networks Against Adversarial Attacks (KDD'19)
[:octocat:TensorFLow] [🔥PyTorch]
SBVAT from Zhijie Deng et al, 📝Batch Virtual Adversarial Training for Graph Convolutional Networks (ICML'19)
[:octocat:TensorFLow] [🔥PyTorch]
OBV
$ claude mcp add GraphGallery \
-- python -m otcore.mcp_server <graph>