The following commands shoulde be run from the "/algs" folder. Always, make sure the preprocessed data directory, where 
"in.pickle" and "out.pickle" files are stored, are consistent with your "data_dir" input:

#######
CIFAR10:
#######
-------
python fed_avg.py --device=0 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=0
python fed_avg.py --device=0 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=1
python fed_avg.py --device=0 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=2
-------
python q_fair.py --device=1 --data_dir=split_CIFAR10_frac05 --num_clients=50 --q=1.1 --learning_rate=0.05 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=0
python q_fair.py --device=1 --data_dir=split_CIFAR10_frac05 --num_clients=50 --q=1.1 --learning_rate=0.05 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=1
python q_fair.py --device=1 --data_dir=split_CIFAR10_frac05 --num_clients=50 --q=1.1 --learning_rate=0.05 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=2
-------
python afl.py --device=2 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.005 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=0
python afl.py --device=2 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.005 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=1
python afl.py --device=2 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.005 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=2
-------
python GiFair.py --device=3 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --reg_lambda=0.00006 --num_epochs=500 --batch_size=64 --seed=0
python GiFair.py --device=3 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --reg_lambda=0.00006 --num_epochs=500 --batch_size=64 --seed=1
python GiFair.py --device=3 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --reg_lambda=0.00006 --num_epochs=500 --batch_size=64 --seed=2
-------
python TERM.py --device=4 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --t=0.01 --num_epochs=500 --batch_size=64 --seed=0
python TERM.py --device=4 --data_dir=split_CIFAR50_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --t=0.01 --num_epochs=500 --batch_size=64 --seed=1
python TERM.py --device=4 --data_dir=split_CIFAR50_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --t=0.01 --num_epochs=500 --batch_size=64 --seed=2
-------
python prop_fair.py --device=5 --base=3.0 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=0
python prop_fair.py --device=5 --base=3.0 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=1
python prop_fair.py --device=5 --base=3.0 --data_dir=split_CIFAR10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=2
-------
python var_red.py --device=6 --data_dir=split_CIFAR10_frac05 --num_clients=50 --beta=1.0 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=0
python var_red.py --device=6 --data_dir=split_CIFAR10_frac05 --num_clients=50 --beta=1.0 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=1
python var_red.py --device=6 --data_dir=split_CIFAR10_frac05 --num_clients=50 --beta=1.0 --learning_rate=0.01 --dataset=CIFAR10 --num_epochs=500 --batch_size=64 --seed=2
-------
python var_red.py --device=7 --data_dir=split_CIFAR10_frac05 --num_clients=50 --beta=1.0 --learning_rate=0.01 --dataset=CIFAR10 --version=semivar --num_epochs=500 --batch_size=64 --seed=0
python var_red.py --device=7 --data_dir=split_CIFAR10_frac05 --num_clients=50 --beta=1.0 --learning_rate=0.01 --dataset=CIFAR10 --version=semivar --num_epochs=500 --batch_size=64 --seed=1
python var_red.py --device=7 --data_dir=split_CIFAR10_frac05 --num_clients=50 --beta=1.0 --learning_rate=0.01 --dataset=CIFAR10 --version=semivar --num_epochs=500 --batch_size=64 --seed=2
-------

########
CIFAR100:
########
-------
python fed_avg.py --device=0 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=0
python fed_avg.py --device=0 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=1
python fed_avg.py --device=0 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=2
-------
python q_fair.py --device=1 --data_dir=split_CIFAR100_frac06 --num_clients=50 --q=1.1 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=0
python q_fair.py --device=1 --data_dir=split_CIFAR100_frac06 --num_clients=50 --q=1.1 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=1
python q_fair.py --device=1 --data_dir=split_CIFAR100_frac06 --num_clients=50 --q=1.1 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=2
-------
python afl.py --device=2 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=0
python afl.py --device=2 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=1
python afl.py --device=2 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=2
-------
python GiFair.py --device=3 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --reg_lambda=0.00031 --num_epochs=500 --batch_size=64 --seed=0
python GiFair.py --device=3 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --reg_lambda=0.00031 --num_epochs=500 --batch_size=64 --seed=1
python GiFair.py --device=3 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --reg_lambda=0.00031 --num_epochs=500 --batch_size=64 --seed=2
-------
python TERM.py --device=4 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --t=0.5 --num_epochs=500 --batch_size=64 --seed=0
python TERM.py --device=4 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --t=0.5 --num_epochs=500 --batch_size=64 --seed=1
python TERM.py --device=4 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --t=0.5 --num_epochs=500 --batch_size=64 --seed=2
-------
python prop_fair.py --device=5 --base=2.0 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=0
python prop_fair.py --device=5 --base=2.0 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=1
python prop_fair.py --device=5 --base=2.0 --data_dir=split_CIFAR100_frac06 --num_clients=50 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=2
-------
python var_red.py --device=6 --data_dir=split_CIFAR100_frac06 --num_clients=50 --beta=0.5 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=0
python var_red.py --device=6 --data_dir=split_CIFAR100_frac06 --num_clients=50 --beta=0.5 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=1
python var_red.py --device=6 --data_dir=split_CIFAR100_frac06 --num_clients=50 --beta=0.5 --learning_rate=0.01 --dataset=CIFAR100 --num_epochs=500 --batch_size=64 --seed=2
-------
python var_red.py --device=7 --data_dir=split_CIFAR100_frac06 --num_clients=50 --beta=0.5 --learning_rate=0.01 --dataset=CIFAR100 --version=semivar --num_epochs=500 --batch_size=64 --seed=0
python var_red.py --device=7 --data_dir=split_CIFAR100_frac06 --num_clients=50 --beta=0.5 --learning_rate=0.01 --dataset=CIFAR100 --version=semivar --num_epochs=500 --batch_size=64 --seed=1
python var_red.py --device=7 --data_dir=split_CIFAR100_frac06 --num_clients=50 --beta=0.5 --learning_rate=0.01 --dataset=CIFAR100 --version=semivar --num_epochs=500 --batch_size=64 --seed=2
-------




#######
CINIC10:
#######
-------
python fed_avg.py --device=0 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=0
python fed_avg.py --device=0 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=1
python fed_avg.py --device=0 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=2
-------
python q_fair.py --device=1 --data_dir=split_CINIC10_frac05 --num_clients=50 --q=1.1 --learning_rate=0.005 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=0
python q_fair.py --device=1 --data_dir=split_CINIC10_frac05 --num_clients=50 --q=1.1 --learning_rate=0.005 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=1
python q_fair.py --device=1 --data_dir=split_CINIC10_frac05 --num_clients=50 --q=1.1 --learning_rate=0.005 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=2
-------
python afl.py --device=2 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=0
python afl.py --device=2 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=1
python afl.py --device=2 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=2
-------
python GiFair.py --device=3 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --reg_lambda=0.00005 --num_epochs=500 --batch_size=64 --seed=0
python GiFair.py --device=3 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --reg_lambda=0.00005 --num_epochs=500 --batch_size=64 --seed=1
python GiFair.py --device=3 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --reg_lambda=0.00005 --num_epochs=500 --batch_size=64 --seed=2
-------
python TERM.py --device=4 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --t=0.5 --num_epochs=500 --batch_size=64 --seed=0
python TERM.py --device=4 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --t=0.5 --num_epochs=500 --batch_size=64 --seed=1
python TERM.py --device=4 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.01 --dataset=CINIC10 --t=0.5 --num_epochs=500 --batch_size=64 --seed=2
-------
python prop_fair.py --device=5 --base=5.0 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.02 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=0
python prop_fair.py --device=5 --base=5.0 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.02 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=1
python prop_fair.py --device=5 --base=5.0 --data_dir=split_CINIC10_frac05 --num_clients=50 --learning_rate=0.02 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=2
-------
python var_red.py --device=6 --data_dir=split_CINIC10_frac05 --num_clients=50 --beta=0.2 --learning_rate=0.005 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=0
python var_red.py --device=6 --data_dir=split_CINIC10_frac05 --num_clients=50 --beta=0.2 --learning_rate=0.005 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=1
python var_red.py --device=6 --data_dir=split_CINIC10_frac05 --num_clients=50 --beta=0.2 --learning_rate=0.005 --dataset=CINIC10 --num_epochs=500 --batch_size=64 --seed=2
-------
python var_red.py --device=7 --data_dir=split_CINIC10_frac05 --num_clients=50 --beta=0.2 --learning_rate=0.005 --dataset=CINIC10 --version=semivar --num_epochs=500 --batch_size=64 --seed=0
python var_red.py --device=7 --data_dir=split_CINIC10_frac05 --num_clients=50 --beta=0.2 --learning_rate=0.005 --dataset=CINIC10 --version=semivar --num_epochs=500 --batch_size=64 --seed=1
python var_red.py --device=7 --data_dir=split_CINIC10_frac05 --num_clients=50 --beta=0.2 --learning_rate=0.005 --dataset=CINIC10 --version=semivar --num_epochs=500 --batch_size=64 --seed=2
-------




#############
Stackoverflow:
#############
-------
python fed_avg.py --device=0 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=0
python fed_avg.py --device=0 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=1
python fed_avg.py --device=0 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=2
-------
python q_fair.py --device=1 --data_dir=split_StackOverflow_frac05 --num_clients=20 --q=1.1 --learning_rate=0.05 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=0
python q_fair.py --device=1 --data_dir=split_StackOverflow_frac05 --num_clients=20 --q=1.1 --learning_rate=0.05 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=1
python q_fair.py --device=1 --data_dir=split_StackOverflow_frac05 --num_clients=20 --q=1.1 --learning_rate=0.05 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=2
-------
python afl.py --device=2 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.05 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=0
python afl.py --device=2 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.05 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=1
python afl.py --device=2 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.05 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=2
-------
python GiFair.py --device=3 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=StackOverflow --reg_lambda=0.0024 --num_epochs=200 --batch_size=64 --seed=0
python GiFair.py --device=3 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=StackOverflow --reg_lambda=0.0024 --num_epochs=200 --batch_size=64 --seed=1
python GiFair.py --device=3 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=StackOverflow --reg_lambda=0.0024 --num_epochs=200 --batch_size=64 --seed=2
-------
python TERM.py --device=4 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=StackOverflow --t=0.5 --num_epochs=200 --batch_size=64 --seed=0
python TERM.py --device=4 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=StackOverflow --t=0.5 --num_epochs=200 --batch_size=64 --seed=1
python TERM.py --device=4 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.2 --dataset=StackOverflow --t=0.5 --num_epochs=200 --batch_size=64 --seed=2
-------
python prop_fair.py --device=5 --base=4.0 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.5 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=0
python prop_fair.py --device=5 --base=4.0 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.5 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=1
python prop_fair.py --device=5 --base=4.0 --data_dir=split_StackOverflow_frac05 --num_clients=20 --learning_rate=0.5 --dataset=stackoverflow --num_epochs=200 --batch_size=64 --seed=2
-------
python var_red.py --device=6 --data_dir=split_StackOverflow_frac05 --num_clients=20 --beta=0.1 --learning_rate=0.5 --dataset=StackOverflow --num_epochs=200 --batch_size=64 --seed=0
python var_red.py --device=6 --data_dir=split_StackOverflow_frac05 --num_clients=20 --beta=0.1 --learning_rate=0.5 --dataset=StackOverflow --num_epochs=200 --batch_size=64 --seed=1
python var_red.py --device=6 --data_dir=split_StackOverflow_frac05 --num_clients=20 --beta=0.1 --learning_rate=0.5 --dataset=StackOverflow --num_epochs=200 --batch_size=64 --seed=2
-------
python var_red.py --device=7 --data_dir=split_StackOverflow_frac05 --num_clients=20 --beta=0.2 --learning_rate=0.5 --dataset=StackOverflow --version=semivar --num_epochs=200 --batch_size=64 --seed=0
python var_red.py --device=7 --data_dir=split_StackOverflow_frac05 --num_clients=20 --beta=0.2 --learning_rate=0.5 --dataset=StackOverflow --version=semivar --num_epochs=200 --batch_size=64 --seed=1
python var_red.py --device=7 --data_dir=split_StackOverflow_frac05 --num_clients=20 --beta=0.2 --learning_rate=0.5 --dataset=StackOverflow --version=semivar --num_epochs=200 --batch_size=64 --seed=2
-------