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 | 中文介绍)
- 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.
Note: This is a developmental release.
pip install gtrick
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 | 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.
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: