Home

Awesome

DecoupledDGNN

Repository for code to reproduce the paper Decoupled Graph Neural Networks for Large Dynamic Graphs

Requirements

Compilation

Cython needs to be compiled before running, run this command:

python setup.py build_ext --inplace

Preprocessing data

python preprocess_data_CTDG.py --data wikipedia --bipartite
python preprocess_data_CTDG.py --data reddit --bipartite

Gen temporal representation

### Wikipedia
python gen_emb.py --path ./data/wikipedia/ --data wikipedia --randomize_features --undirect
### Reddit
python gen_emb.py --path ./data/reddit/ --data reddit --randomize_features --undirect
### UCI-MSG
python gen_emb.py --path ./data/CollegeMsg/ --data CollegeMsg --randomize_features --disperse
### Bitcoin-Alpha
python gen_emb.py --data bitcoinalpha --path ./data/bitcoinalpha/ --randomize_features --disperse
### Bitcoin-OTC
python gen_emb.py --data bitcoinotc --path ./data/bitcoinotc/ --randomize_features --disperse
### GDELT
python gen_emb.py --path ./data/GDELT/ --data GDELT

Furture Link Prediction - CTDG

### Wikipedia
python link_prediction.py --data wikipedia --emb_size 172 --batch_size 128 --epochs 30 --learning_rate 0.0001 --hidden_dim 128 --patience 30 --gpu 1 --window_size 20 --seq_model lstm
### Reddit
python link_prediction.py --data reddit --emb_size 172 --batch_size 128 --epochs 30 --learning_rate 0.0001 --hidden_dim 128 --patience 30 --gpu 1 --window_size 20 --seq_model lstm

Furture Link Prediction - DTDG

### UCI-MSG
python link_prediction_alongtime.py --data CollegeMsg --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 64 --patience 30 --gpu 1 --window_size 20 --seq_model lstm
python link_prediction_alongtime.py --data CollegeMsg --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 64 --patience 30 --gpu 1 --window_size 20 --seq_model gru
python link_prediction_alongtime.py --data CollegeMsg --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 64 --patience 30 --gpu 1 --window_size 20 --seq_model transformer


### Bitcoin-Alpha
python link_prediction_alongtime.py --data bitcoinalpha --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 128 --patience 30 --gpu 1 --window_size 20 --seq_model lstm
python link_prediction_alongtime.py --data bitcoinalpha --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 128 --patience 30 --gpu 1 --window_size 20 --seq_model gru
python link_prediction_alongtime.py --data bitcoinalpha --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 128 --patience 30 --gpu 1 --window_size 20 --seq_model transformer

### Bitcoin-OTC
python link_prediction_alongtime.py --data bitcoinotc --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 64 --patience 30 --gpu 1 --window_size 20 --seq_model lstm
python link_prediction_alongtime.py --data bitcoinotc --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 64 --patience 30 --gpu 1 --window_size 20 --seq_model gru
python link_prediction_alongtime.py --data bitcoinotc --emb_size 128 --batch_size 1024 --epochs 30 --learning_rate 0.001 --hidden_dim 64 --patience 30 --gpu 1 --window_size 20 --seq_model transformer

Node Classification

### Wikipedia
python node_classification.py --batch_size 256 --epochs 30 --emb_size 172 --hidden_dim 128 --learning_rate 0.0001 --gpu 1 --patience 30
### Reddit
python node_classification.py --batch_size 256 --epochs 30 --emb_size 172 --hidden_dim 64 --learning_rate 0.008 --gpu 1 --patience 30 --data reddit