Algorithm 1. Federated Averaging |
K—number of clients from 1 to n B—minimum batch size E—number of epochs F—fractions of clients Server function—FedAvg Initialize global weights for round i = 1, 2…do ← max (F.K, 1) ← (random sets of M clients) for client k € do parallel ClientUpdate(k, ) end end Client function—ClientUpdate(k, ) B ← Split data into batches For each local epoch i from1 to E do Update client Return to server |