federated-learning

Flower running the server and clients on different machines


I use Flower API for federated learning applications. Is there any way to run the server and clients on different machines for a real-world benchmark?


Solution

  • Of course, you can set up the server script and run it giving it an ip address and port:

    fl.server.start_server(server_address="[SERVER_IP]:[PORT]",
        config=fl.server.ServerConfig(num_rounds=3), strategy=strategy)
    

    And start the client with:

    fl.client.start_numpy_client(server_address="[SERVER_IP]:[PORT]", client=ModelClient())
    

    If you are on a LAN you can find the ipv4 of your computer with ipconfig on cmd.