The code is written based on the Zhang et al's code, and still under polishment.
The dataset can be manually downloaded from Google Drive
After downloading the .h5 files, put those files into a directory named dataset and put the directory under the main directory before running the code.
python centralized.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --epochs 10 --batch_size 50
Centrailized File: milano.h5 Type: sms MSE: 0.3171 MAE: 0.3223, NRMSE: 0.0908
python centralized.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --attack_epsilon 0.2 --attack_optimizer uniform
python centralized.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --attack_epsilon 0.2 --num_ensemble 2 --attack_rounds 30 --epochs 10 --batch_size 50 --attack_lr 10.0 --mask_prob 0.8 --surrogate_model lstm
python centralized.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --attack_epsilon 0.2 --num_ensemble 2 --attack_rounds 30 --epochs 10 --batch_size 50 --attack_lr 10.0 --mask_prob 0.8 --surrogate_model lstm --apply_defense sphere_sani
python centralized.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --attack_epsilon 1.0 --num_ensemble 2 --attack_rounds 20 --epochs 10 --batch_size 50 --attack_lr 10.0 --mask_prob 0.8 --surrogate_model lstm --apply_defense adj_sani
python centralized.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --attack_epsilon 1.0 --num_ensemble 2 --attack_rounds 20 --epochs 10 --batch_size 50 --attack_lr 10.0 --mask_prob 0.8 --surrogate_model lstm --apply_defense rand
python fed_avg.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1
Type: sms MSE: 0.3744 MAE: 0.3386, NRMSE: 0.0955
python fed_avg.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison
python fed_avg.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --apply_defense multi_krum
python fed_avg.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --apply_defense trimmed_mean
python fed_avg.py --file milano.h5 --type sms --lr 1e-2 --frac 0.1 --bs 100 --opt 'sgd' --out_dim 1 --poison --apply_defense median