For the GIA, for dataset in ['cora','citeseer','pubmed','coauthorcs']to generate the attacked graph
#pgd
python -u gnn_misg.py --dataset 'cora'  --inductive --eval_robo --eval_attack 'pgd' --n_inject_max 60 --n_edge_max 20 --grb_mode 'full' --runs 1 --disguise_coe 0  --use_ln 0 --grb_splits


#tdgia
python -u gnn_misg.py --dataset 'cora'  --inductive --eval_robo --eval_attack 'seqgia' --n_inject_max 60 --n_edge_max 20 --grb_mode 'full' --runs 1 --disguise_coe 0 --use_ln 0 --injection 'tdgia' --grb_splits
cp atkg/cora_seqgia.pt atkg/cora_tdgia.pt

#metagia
python -u gnn_misg.py --dataset 'cora'  --inductive --eval_robo --eval_attack 'seqgia' --injection 'meta' --n_inject_max 60 --n_edge_max 20 --grb_mode 'full' --runs 1 --disguise_coe 0 --use_ln 0  --grb_splits
cp atkg/cora_seqgia.pt atkg/cora_metagia.pt

For other datasets, please change the value of --n_inject_max  --n_edge_max according to our paper

Eval the model
#HANG-quad
python gnn_misg_pde.py --dataset cora --inductive --eval_robo --eval_attack pgd --n_inject_max 60 --n_edge_max 20 --grb_mode full --runs 10 --disguise_coe 0 --use_ln 0 --model graphcon --time 3 --method euler --function hangquad --gpu 3 --hidden_dim 128 --eval_robo_blk --step_size 1 --input_dropout 0.4 --batch_norm --add_source --grb_split

#HANG
python gnn_misg_pde.py --dataset cora --inductive --eval_robo --eval_attack pgd --n_inject_max 60 --n_edge_max 20 --grb_mode full --runs 10 --disguise_coe 0 --use_ln 0 --model graphcon --time 3 --method euler --function hang --gpu 3 --hidden_dim 128 --eval_robo_blk --step_size 1 --input_dropout 0.4 --batch_norm --add_source --grb_split

For other datasets and other attacks, change the value of --eval_attack --n_inject_max --n_edge_max accordingly 

For the GIA, for dataset in ['computers','arxiv']to generate the attacked graph

#pgd
python -u gnn_misg.py --dataset 'computers'  --inductive --eval_robo --eval_attack 'pgd' --n_inject_max 100 --n_edge_max 150 --grb_mode 'full' --runs 1 --disguise_coe 0  --use_ln 0 --grb_splits --eval_target


#tdgia
python -u gnn_misg.py --dataset 'computers'  --inductive --eval_robo --eval_attack 'seqgia' --n_inject_max 100 --n_edge_max 150 --grb_mode 'full' --runs 1 --disguise_coe 0 --use_ln 0 --injection 'tdgia' --grb_splits --eval_target
cp atkg/computers_seqgia_target.pt atkg/computers_tdgia_target.pt

#metagia
python -u gnn_misg.py --dataset 'computers'  --inductive --eval_robo --eval_attack 'seqgia' --injection 'meta' --n_inject_max 100 --n_edge_max 150 --grb_mode 'full' --runs 1 --disguise_coe 0 --use_ln 0  --grb_splits --eval_target
cp atkg/computers_seqgia_target.pt atkg/computers_metagia_target.pt


ebal model:
#HANG
gnn_misg_pde.py --dataset computers --inductive --eval_robo --eval_attack tdgia --n_inject_max 100 --n_edge_max 150 --grb_mode full --runs 10 --disguise_coe 0 --use_ln 0 --eval_target --eval_robo_blk --model graphcon --method euler --function hang --gpu 0 --hidden_dim 128 --step_size 1 --input_dropout 0.2 --dropout 0.4 --eval_target --batch_norm --block constant --add_source --time 3
gnn_misg_pde.py --dataset computers --inductive --eval_robo --eval_attack tdgia --n_inject_max 100 --n_edge_max 150 --grb_mode full --runs 10 --disguise_coe 0 --use_ln 0 --eval_target --eval_robo_blk --model graphcon --method euler --function hangquad --gpu 0 --hidden_dim 128 --step_size 1 --input_dropout 0.2 --dropout 0.4 --eval_target --batch_norm --block constant --add_source --time 3
For other datasets, please change the value of --n_inject_max  --n_edge_max according to our paper



For Metattack, 

#HANG-quad
python run_metattack_rate.py --dataset polblogs --function hangquad --block constant --lr 0.005 --dropout 0.4 --input_dropout 0.4 --batch_norm --time 8 --hidden_dim 64 --step_size 1 --runtime 20 --add_source --batch_norm --gpu 0 --epochs 800 --patience 200
#HANG
run_metattack_rate.py --dataset polblogs --function hang --block constant --lr 0.005 --dropout 0.4 --input_dropout 0.4 --batch_norm --time 15 --hidden_dim 128 --step_size 1 --runtime 10 --add_source --batch_norm --gpu 1 --epochs 800 --patience 150
#HANG
run_metattack_rate.py --dataset pubmed --function hang --block constant --lr 0.005 --dropout 0.4 --input_dropout 0.4 --batch_norm --time 3 --hidden_dim 64 --step_size 1 --runtime 10 --add_source --batch_norm --gpu 1 --epochs 800 --patience 150
#HANG-quad
run_metattack_rate.py --dataset pubmed --function hangquad --block constant --lr 0.005 --dropout 0.4 --input_dropout 0.4 --batch_norm --time 6 --hidden_dim 64 --step_size 1 --runtime 10 --add_source --batch_norm --gpu 3 --epochs 800 --patience 150









