Skip to main content
. 2025 May 12;25(10):3043. doi: 10.3390/s25103043
Algorithm 3 FedOpt: federated optimization algorithm.
  • 1:

    Input: Number of rounds T, number of clients K, server optimizer Os, client optimizer Oc

  • 2:

    Initialize global model weights w0

  • 3:

    Initialize server optimizer state s0

  • 4:

    for each round t=1,,T do

  • 5:

          Sample a subset St of K clients

  • 6:

          for each client kSt in parallel do

  • 7:

                Download global model weights wt

  • 8:

                Compute local model weights wt+1k by performing E epochs of Oc on local data

  • 9:

          end for

  • 10:

         Compute gradient gt=1KkSt(wtwt+1k)

  • 11:

         Update server optimizer state st+1=Os.update(st,gt)

  • 12:

         Update the global model weights wt+1=wtOs.step(st+1)

  • 13:

    end for

  • 14:

    Return: final global model weights wT