Running the Server and Clients
Starting the Server
The server is started by running the following command in the root directory of the framework:
python -m federa.server.start_server
Arguments that can be passed to the server are:
Argument |
Description |
Default |
---|---|---|
|
specifies the aggregation algorithm |
|
|
specifies number of clients selected per round |
|
|
specifies fraction of clients selected |
|
|
specifies total number of rounds |
|
|
specifies initial server model path |
|
|
specifies client epochs per round |
|
|
determines if connections accepted after FL begins |
|
|
specifies if verification module runs before rounds |
|
|
specifies minimum verification score |
|
|
specifies client training time limit per round |
|
|
specifies dataset resize dimension |
|
|
specifies dataset batch size |
|
|
specifies network architecture |
|
|
specifies dataset name |
|
|
specifies data distribution among clients |
|
|
specifies if carbon emissions tracked at client side |
|
|
specifies whether to use SSL encryption or not |
|
|
specifies path to server key certificate |
|
|
specifies path to server certificate |
|
Starting the Clients
The clients are started by running the following command in the root directory of the framework:
python federa.client.start_client
Arguments that can be passed to the clients are:
Argument |
Description |
Default |
---|---|---|
|
specifies server IP address |
|
|
specifies device |
|
|
specifies whether to use SSL encryption or not |
|
|
specifies path to CA certificate |
|
|
specifies time to wait before reconnecting to the server |
|