forked from NicholasRasi/FL-Simulator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yml
94 lines (88 loc) · 2.49 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
simulation:
# number or repetitions
repetitions: 4
# simulation output folder
output_folder: "output"
# simulation output file
output_file: "lc1.2.json"
# model
model_name: "mnist"
# metric
metric: "accuracy"
# maximum number of rounds
num_rounds: 15
# list of stopping conditions (OR) for ending the simulation
stop_conds:
# global model accuracy (during evaluation)
metric: 1
# global model loss (during evaluation)
loss: 0
# initialization policy
initializer: "default"
# fixing random state for reproducibility
seed: 123
# set the TensorFlow verbosity, 0 = silent, 1 = progress bar, 2 = one line per epoch
tf_verbosity: 0
algorithms:
federated_algorithm: "fedavg"
fit:
# algorithm used for the FL aggregation
aggregation: "fedavg"
# algorithm used for the clients selection
selection: "limited_consumption"
# algorithm used for the update optimizer
update: "static"
# algorithm used for the local data optimizer
data: "random"
# parameters used by the algorithm
params:
# fraction of devices used for the computation
k: 0.5
# number of epochs executed for fit for each round
epochs: 2
# batch size used for fit for each round
batch_size: 16
# number of examples used for fit for each round
num_examples: 100
eval:
selection: "random"
update: "static"
data: "random"
params:
k: 0.5
epochs: 2
batch_size: 16
num_examples: 100
# optimizer used (local iteration) string or optimizer instance
optimizer: "sgd"
devices:
# total number of devices (D)
num: 20
# probability a device is available for a round
p_available: 0.8
# probability a device fails during a round
p_fail: 0.1
computation:
# mean and variance of number of computed iterations/second per device (among devices) [iter/s]
ips_mean: 100
ips_var: 50
energy:
# mean and variance of energy available at each device [mWh]
avail_mean: 25000
avail_var: 20000
# power consumption for 1 second of computation [mW/s]
pow_comp_s: 100
# power consumption for 1 second of network used [mW/s]
pow_net_s: 200
network:
# mean and variance of network speed available at each device [params/s]
speed_mean: 100000
speed_var: 70000
data:
# mean and variance of number of examples available at each device
num_examples_mean: 1500
num_examples_var: 0
# use non-i.d.d data
non_iid_partitions: 0
# percentage of mislabelled data
mislabelling_percentage: 0