|
Algorithm 3 FedOpt: federated optimization algorithm. |
-
1:
Input: Number of rounds T, number of clients K, server optimizer , client optimizer
-
2:
Initialize global model weights
-
3:
Initialize server optimizer state
-
4:
for each round do
-
5:
Sample a subset of K clients
-
6:
for each client in parallel do
-
7:
Download global model weights
-
8:
Compute local model weights by performing E epochs of on local data
-
9:
end for
-
10:
Compute gradient
-
11:
Update server optimizer state
-
12:
Update the global model weights
-
13:
end for
-
14:
Return: final global model weights
|