fed-learn#
fedsim-cli fed-learn#
Simulates a Federated Learning system.
fedsim-cli fed-learn [OPTIONS]
Options
- -r, --rounds <rounds>#
number of communication rounds.
- Default
100
- -d, --data-manager <data_manager>#
name of data manager.
- Default
BasicDataManager
- --train-split-name <train_split_name>#
name of local split to train train on
- Default
train
- -n, --n-clients <n_clients>#
number of clients.
- Default
500
- --client-sample-scheme <client_sample_scheme>#
client sampling scheme (uniform or sequential for now).
- Default
uniform
- -c, --client-sample-rate <client_sample_rate>#
mean portion of num clients to sample.
- Default
0.01
- -a, --algorithm <algorithm>#
federated learning algorithm.
- Default
FedAvg
- -m, --model <model>#
model architecture.
- Default
SimpleMLP
- -e, --epochs <epochs>#
number of local epochs.
- Default
5
- --criterion <criterion>#
loss function to use (any differentiable fedsim.scores.Score).
- Default
CrossEntropyScore, log_freq:50
- --batch-size <batch_size>#
local batch size.
- Default
32
- --test-batch-size <test_batch_size>#
inference batch size.
- Default
64
- --optimizer <optimizer>#
server optimizer
- Default
SGD, lr:1.0
- --local-optimizer <local_optimizer>#
local optimizer
- Default
SGD, lr:0.1, weight_decay:0.001
- --lr-scheduler <lr_scheduler>#
lr scheduler for server optimizer
- Default
StepLR, step_size:1, gamma:1.0
- --local-lr-scheduler <local_lr_scheduler>#
lr scheduler for server optimizer
- Default
StepLR, step_size:1, gamma:1.0
- --r2r-local-lr-scheduler <r2r_local_lr_scheduler>#
lr scheduler for round to round local optimization
- Default
StepLR, step_size:1, gamma:1
- -s, --seed <seed>#
seed for random generators after data is partitioned.
- --device <device>#
device to load model and data one
- --log-dir <log_dir>#
directory to store the logs.
- --n-point-summary <n_point_summary>#
number of last score report points to store and get the final average performance from.
- Default
10
- --local-score <local_score>#
hooks a score object to a split of local datasets. Choose the score classes from fedsim.scores. It is possible to call this option multiple times.
- --global-score <global_score>#
hooks a score object to a split of global datasets. Choose the score classes from fedsim.scores. It is possible to call this option multiple times.
Options
Arguments