- IN FedEM’s code, what is
learner
,cluster
? - How to add new algorithm to it?
I plan to run 3 algorithms (i.e. FedAvg, FedProx, FedMine) ON 3 datasets (i.e. CIFAR10, CIFAR100, Shakespeare)
In my paper, there should be some figures about the experiment.
- 1 from the distribution about the dataset.
- 4 from the experiment’s result (i.e. Train/Acc, Train/Loss; Test/Acc, Test/Loss), and which one has 3 lines (FedAvg, FedProx, FedMine)
Also, it must contains some tables.
- 1 about the three dataset’s model’s architecture
- 1 about used GPU and coresponding run time on each dataset
Yes, there was some introductions at each bottom of the figures and tables.So , maybe that’s all.
Tips on running:(latter convenients)
-
CIFAR10:
Split:python generate_data.py --n_tasks 80 --n_components 3 --alpha 0.4 --s_frac 1.0 --tr_frac 0.8 --seed 12345
Run:
python run_experiment.py cifar10 FedAvg --n_learners 1 --n_rounds 200 --bz 64 --lr 0.01 --lr_scheduler multi_step --log_freq 10 --device cuda --optimizer sgd --seed 1234 --verbose 1
-
CIFAR100:
Split:python generate_data.py --n_tasks 100 --pachinko_allocation_split --alpha 0.4 --beta 10 --s_frac 1.0 --tr_frac 0.8 --seed 12345
Run:
python run_experiment.py cifar100 FedAvg --n_learners 1 --n_rounds 200 --bz 128 --lr 0.01 --lr_scheduler multi_step --log_freq 5 --device cuda --optimizer sgd --seed 1234 --verbose 1
-
ShakeSpeare:
Split: First, Run ./get_data.sh, then run generate_data.pypython generate_data.py --s_frac 1.0 --tr_frac 0.8 --seed 12345
Run:
python run_experiment.py shakespeare FedAvg --n_learners 1 --n_rounds 200 --bz 128 --lr 0.01 --lr_scheduler multi_step --log_freq 5 --device cuda --optimizer sgd --seed 1234 --verbose 1