dmlc--dgl
40a2f3c760
* Refactor full graph entity classification * Refactor rgcn with sampling * README update * Update * Results update * Respect default setting of self_loop=false in entity.py * Update * Update README * Update for multi-gpu * Update
Relational-GCN
- Paper: Modeling Relational Data with Graph Convolutional Networks
- Author's code for entity classification: https://github.com/tkipf/relational-gcn
- Author's code for link prediction: https://github.com/MichSchli/RelationPrediction
Dependencies
- rdflib
- torchmetrics
Install as follows:
pip install rdflib
pip install torchmetrics
How to run
Entity Classification
Run with the following for entity classification (available datasets: aifb (default), mutag, bgs, and am)
python3 entity.py --dataset aifb
For mini-batch training, run with the following (available datasets are the same as above)
python3 entity_sample.py --dataset aifb
For multi-gpu training (with sampling), run with the following (same datasets and GPU IDs separated by comma)
python3 entity_sample_multi_gpu.py --dataset aifb --gpu 0,1
Link Prediction
FB15k-237 in RAW-MRR
python link.py --gpu 0 --eval-protocol raw
FB15k-237 in Filtered-MRR
python link.py --gpu 0 --eval-protocol filtered
Summary
Entity Classification
| Dataset | Full-graph | Mini-batch |
|---|---|---|
| aifb | ~0.85 | ~0.82 |
| mutag | ~0.70 | ~0.50 |
| bgs | ~0.86 | ~0.64 |
| am | ~0.78 | ~0.42 |