The folder contains example implementations of selected research papers related to Graph Neural Networks. Note that the examples may not work with incompatible DGL versions.
- For examples working with the latest master (or the latest nightly build), check out https://github.com/dmlc/dgl/tree/master/examples.
- For examples working with a certain release, check out
https://github.com/dmlc/dgl/tree/<release_version>/examples
(E.g., https://github.com/dmlc/dgl/tree/0.5.x/examples)
- Feng et al. Graph Random Neural Network for Semi-Supervised Learning on Graphs. Paper link.
- Example code: PyTorch
- Tags: semi-supervised node classification, simplifying graph convolution, data augmentation
- Hu et al. Heterogeneous Graph Transformer. Paper link.
- Example code: PyTorch
- Tags: dynamic heterogeneous graphs, large-scale, node classification, link prediction
- Chen. Graph Convolutional Networks for Graphs with Multi-Dimensionally Weighted Edges. Paper link.
- Example code: PyTorch on ogbn-proteins
- Tags: node classification, weighted graphs, OGB
- Frasca et al. SIGN: Scalable Inception Graph Neural Networks. Paper link.
- Example code: PyTorch on ogbn-arxiv/products/mag, PyTorch
- Tags: node classification, OGB, large-scale, heterogeneous graphs
- Hu et al. Strategies for Pre-training Graph Neural Networks. Paper link.
- Example code: Molecule embedding, PyTorch for custom data
- Tags: molecules, graph classification, unsupervised learning, self-supervised learning, molecular property prediction
- Marc Brockschmidt. GNN-FiLM: Graph Neural Networks with Feature-wise Linear Modulation. Paper link.
- Example code: Pytorch
- Tags: multi-relational graphs, hypernetworks, GNN architectures
-
Klicpera et al. Predict then Propagate: Graph Neural Networks meet Personalized PageRank. Paper link.
-
Chiang et al. Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks. Paper link.
- Example code: PyTorch, PyTorch-based GraphSAGE variant on OGB, PyTorch-based GAT variant on OGB
- Tags: graph partition, node classification, large-scale, OGB, sampling
-
Veličković et al. Deep Graph Infomax. Paper link.
- Example code: PyTorch, TensorFlow
- Tags: unsupervised learning, node classification
-
Ying et al. Hierarchical Graph Representation Learning with Differentiable Pooling. Paper link.
- Example code: PyTorch
- Tags: pooling, graph classification, graph coarsening
-
Cen et al. Representation Learning for Attributed Multiplex Heterogeneous Network. Paper link.
- Example code: PyTorch
- Tags: heterogeneous graphs, link prediction, large-scale
-
Xu et al. How Powerful are Graph Neural Networks? Paper link.
- Example code: PyTorch on graph classification, PyTorch on node classification, PyTorch on ogbg-ppa, MXNet
- Tags: graph classification, node classification, OGB
-
Koncel-Kedziorski et al. Text Generation from Knowledge Graphs with Graph Transformers. Paper link.
- Example code: PyTorch
- Tags: knowledge graph, text generation
-
Wang et al. Heterogeneous Graph Attention Network. Paper link.
- Example code: PyTorch
- Tags: heterogeneous graphs, node classification
-
Chen et al. Supervised Community Detection with Line Graph Neural Networks. Paper link.
- Example code: PyTorch
- Tags: line graph, community detection
-
Wu et al. Simplifying Graph Convolutional Networks. Paper link.
-
Wang et al. Dynamic Graph CNN for Learning on Point Clouds. Paper link.
- Example code: PyTorch
- Tags: point cloud classification
-
Zhang et al. Graphical Contrastive Losses for Scene Graph Parsing. Paper link.
- Example code: MXNet
- Tags: scene graph extraction
-
Lee et al. Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks. Paper link.
- Pooling module: PyTorch encoder, PyTorch decoder
- Tags: graph classification
-
Coley et al. A graph-convolutional neural network model for the prediction of chemical reactivity. Paper link.
- Example code: PyTorch
- Tags: molecules, reaction prediction
-
Lu et al. Molecular Property Prediction: A Multilevel Quantum Interactions Modeling Perspective. Paper link.
- Example code: PyTorch
- Tags: molecules, quantum chemistry
-
Xiong et al. Pushing the Boundaries of Molecular Representation for Drug Discovery with the Graph Attention Mechanism. Paper link.
- Example code: PyTorch (with attention visualization), PyTorch for custom data
- Tags: molecules, molecular property prediction
-
Sun et al. RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph embedding
-
Abu-El-Haija et al. MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing. Paper link.
- Example code: PyTorch
- Tags: node classification
-
Lee, Junhyun, et al. Self-Attention Graph Pooling. Paper link.
- Example code: PyTorch
- Tags: graph classification, pooling
-
Zhang, Zhen, et al. Hierarchical Graph Pooling with Structure Learning. Paper link.
- Example code: PyTorch
- Tags: graph classification, pooling
-
Gao, Hongyang, et al. Graph Representation Learning via Hard and Channel-Wise Attention Networks Paper link.
- Example code: Pytorch
- Tags: node classification, graph attention
-
Li et al. Learning Deep Generative Models of Graphs. Paper link.
- Example code: PyTorch example for cycles, PyTorch example for molecules
- Tags: generative models, autoregressive models, molecules
-
Veličković et al. Graph Attention Networks. Paper link.
- Example code: PyTorch, PyTorch on ogbn-arxiv, PyTorch on ogbn-products, TensorFlow, MXNet
- Tags: node classification, OGB
-
Jin et al. Junction Tree Variational Autoencoder for Molecular Graph Generation. Paper link.
- Example code: PyTorch
- Tags: generative models, molecules, VAE
-
Thekumparampil et al. Attention-based Graph Neural Network for Semi-supervised Learning. Paper link.
- Example code: PyTorch
- Tags: node classification
-
Ying et al. Graph Convolutional Neural Networks for Web-Scale Recommender Systems. Paper link.
- Example code: PyTorch
- Tags: recommender system, large-scale, sampling
-
Berg Palm et al. Recurrent Relational Networks. Paper link.
- Example code: PyTorch
- Tags: sudoku solving
-
Yu et al. Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting. Paper link.
- Example code: PyTorch
- Tags: spatio-temporal, traffic forecasting
-
Zhang et al. An End-to-End Deep Learning Architecture for Graph Classification. Paper link.
- Pooling module: PyTorch, TensorFlow, MXNet
- Tags: graph classification
-
Kipf and Welling. Semi-Supervised Classification with Graph Convolutional Networks. Paper link.
- Example code: PyTorch, PyTorch on ogbn-arxiv, PyTorch on ogbl-ppa, PyTorch on ogbg-ppa, TensorFlow, MXNet
- Tags: node classification, link prediction, graph classification, OGB
-
Sabour et al. Dynamic Routing Between Capsules. Paper link.
- Example code: PyTorch
- Tags: image classification
-
van den Berg et al. Graph Convolutional Matrix Completion. Paper link.
- Example code: PyTorch
- Tags: matrix completion, recommender system, link prediction, bipartite graphs
-
Hamilton et al. Inductive Representation Learning on Large Graphs. Paper link.
- Example code: PyTorch, PyTorch on ogbn-products, PyTorch on ogbl-ppa, MXNet
- Tags: node classification, sampling, unsupervised learning, link prediction, OGB
-
Dong et al. metapath2vec: Scalable Representation Learning for Heterogeneous Networks. Paper link.
- Example code: PyTorch
- Tags: heterogeneous graphs, network embedding, large-scale, node classification
-
Du et al. Topology Adaptive Graph Convolutional Networks. Paper link.
-
Qi et al. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. Paper link.
- Example code: PyTorch
- Tags: point cloud classification, point cloud part-segmentation
-
Qi et al. PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space. Paper link.
- Example code: PyTorch
- Tags: point cloud classification
-
Schlichtkrull. Modeling Relational Data with Graph Convolutional Networks. Paper link.
- Example code: PyTorch example using homogeneous DGLGraphs, PyTorch, TensorFlow, MXNet
- Tags: node classification, link prediction, heterogeneous graphs, sampling
-
Vaswani et al. Attention Is All You Need. Paper link.
- Example code: PyTorch
- Tags: machine translation
-
Gilmer et al. Neural Message Passing for Quantum Chemistry. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: molecules, quantum chemistry
-
Gomes et al. Atomic Convolutional Networks for Predicting Protein-Ligand Binding Affinity. Paper link.
- Example code: PyTorch
- Tags: binding affinity prediction, molecules, proteins
-
Schütt et al. SchNet: A continuous-filter convolutional neural network for modeling quantum interactions. Paper link.
- Example code: PyTorch
- Tags: molecules, quantum chemistry
-
Li et al. Gated Graph Sequence Neural Networks. Paper link.
- Example code: PyTorch
- Tags: question answering
-
Defferrard et al. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering. Paper link.
- Example code: PyTorch on image classification, PyTorch on node classification
- Tags: image classification, graph classification, node classification
-
Monti et al. Geometric deep learning on graphs and manifolds using mixture model CNNs. Paper link.
- Example code: PyTorch on image classification, PyTorch on node classification, MXNet on node classification
- Tags: image classification, graph classification, node classification
-
Kearnes et al. Molecular Graph Convolutions: Moving Beyond Fingerprints. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: molecular property prediction
-
Trouillon et al. Complex Embeddings for Simple Link Prediction. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph embedding
-
Tang et al. LINE: Large-scale Information Network Embedding. Paper link.
- Example code: PyTorch on OGB
- Tags: network embedding, transductive learning, OGB, link prediction
-
Sheng Tai et al. Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks. Paper link.
-
Vinyals et al. Order Matters: Sequence to sequence for sets. Paper link.
-
Lin et al. Learning Entity and Relation Embeddings for Knowledge Graph Completion. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph embedding
-
Yang et al. Embedding Entities and Relations for Learning and Inference in Knowledge Bases. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph embedding
-
Duvenaud et al. Convolutional Networks on Graphs for Learning Molecular Fingerprints. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: molecules, molecular property prediction
-
Perozzi et al. DeepWalk: Online Learning of Social Representations. Paper link.
- Example code: PyTorch on OGB
- Tags: network embedding, transductive learning, OGB, link prediction
-
Fischer et al. A Hausdorff Heuristic for Efficient Computation of Graph Edit Distance. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
- Bordes et al. Translating Embeddings for Modeling Multi-relational Data. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph embedding
-
Fankhauser et al. Speeding Up Graph Edit Distance Computation through Fast Bipartite Matching. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
-
Nickel et al. A Three-Way Model for Collective Learning on Multi-Relational Data. Paper link.
- Example code: PyTorch, PyTorch for custom data
- Tags: knowledge graph embedding
- Riesen et al. Speeding Up Graph Edit Distance Computation with a Bipartite Heuristic. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
- Neuhaus et al. Fast Suboptimal Algorithms for the Computation of Graph Edit Distance. Paper link.
- Example code: PyTorch
- Tags: graph edit distance, graph matching
- Page et al. The PageRank Citation Ranking: Bringing Order to the Web. Paper link.
- Example code: PyTorch
- Tags: PageRank