Awesome
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.
For more detailed examples, see Example in Trick.
Trick
Trick | Example | Task | Reference |
---|---|---|---|
VirtualNode | DGL<br>PyG | graph | OGB Graph Property Prediction Examples |
FLAG | DGL<br>PyG | node*<br>graph | Robust Optimization as Data Augmentation for Large-scale Graphs |
Fingerprint | DGL<br>PyG | molecular graph* | Extended-Connectivity Fingerprints |
Random Feature | DGL<br>PyG | graph* | Random Features Strengthen Graph Neural Networks |
Label Propagation | DGL<br>PyG | node* | Learning from Labeled and Unlabeled Data with Label Propagation |
Correct & Smooth | DGL<br>PyG | node* | Combining Label Propagation And Simple Models Out-performs Graph Neural Networks |
Common Neighbors | DGL<br>PyG | link* | Link Prediction with Structural Information |
Resource Allocation | DGL<br>PyG | link* | Link Prediction with Structural Information |
Adamic Adar | DGL<br>PyG | link* | Link Prediction with Structural Information |
Anchor Distance | DGL<br>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: