/gtrick

Bag of Tricks for Graph Neural Networks.

Primary LanguageJupyter NotebookMIT LicenseMIT

gtrick: Bag of Tricks for Graph Neural Networks.

gtrick is an easy-to-use Python package that collects tricks for graph neural networks. It tests and provides powerful tricks to boost your models' performance.

Trick is all you need! (English Document | 中文介绍)

Library Highlights

  • Easy-to-use: All it takes is to add a few lines of code to apply a powerful trick, with as few changes to existing code as possible.
  • Verified Trick: All tricks implemented in gtrick are tested on our selected datasets. Only the tricks indeed improving a model's performance can be collected by gtrick.
  • Backend Free: We provide all tricks both in DGL and PyG. Whatever graph learning library you use, feel free to try it.

Installation

Note: This is a developmental release.

pip install gtrick

Quick Start

It is very easy to get started with gtrick. You can enhance your GNN model with only a few lines of code.

quickstart

For more detailed examples, see Example in Trick.

Trick

Trick Example Task Reference
VirtualNode DGL
PyG
graph OGB Graph Property Prediction Examples
FLAG DGL
PyG
node*
graph
Robust Optimization as Data Augmentation for Large-scale Graphs
Fingerprint DGL
PyG
molecular graph* Extended-Connectivity Fingerprints
Random Feature DGL
PyG
graph* Random Features Strengthen Graph Neural Networks
Label Propagation DGL
PyG
node* Learning from Labeled and Unlabeled Data with Label Propagation
Correct & Smooth DGL
PyG
node* Combining Label Propagation And Simple Models Out-performs Graph Neural Networks
Common Neighbors DGL
PyG
link* Link Prediction with Structural Information
Resource Allocation DGL
PyG
link* Link Prediction with Structural Information
Adamic Adar DGL
PyG
link* Link Prediction with Structural Information
Anchor Distance DGL
PyG
link* Link Prediction with Structural Information

We have tested all these tricks on selected datasets, you can find the benchmark in PyG Benchmark and DGL Benchmark.

For the ogbg-molhiv GIN, please refer to @willy-b's code.

Contributing

Please let me know if you encounter a bug or have any suggestions by filing an issue.

All contributions for bug fixes, new tricks, and better examples are welcome.

There are also some tricks I'm planning to add, feel free to implement one of them for gtrick: