Startup Option
Startup Options¶
Client¶
You need import parser from iflearner.business.homo.argument firstly and then call parser.parse_args, because we provided some common arguments that
need to be parsered. If you want to add addtional arguments for yourself, you can call parser.add_argument repeatedly to add them before parser.parse_args
has been called. After parsered arguments, you can create your trainer instance base on previous implemented class, and put it with args to train_client.Controller.
In the end, you just need call controller.run to run your client.
The list of client default options is as follows:
| option | type | describe | default |
|---|---|---|---|
| name | str | name of client | client |
| epochs | int | number of total epochs to run | 10 |
| server | str | the address of connecting aggerating server | localhost:50001 |
| enable-ll | int | enable local training (1 、 0) | 0 |
| peers | str | enabled SMPC if the argument had specified. all clients' addresses and use semicolon separate all addresses. First one is your own address. | |
| cert | str | path of server SSL cert. use secure channel to connect to server if not none |
Server¶
The list of server options is as follows:
| option | type | describe | default |
|---|---|---|---|
| num | int | the number of all clients | 0 |
| epochs | int | the total epoch | |
| addr | str | The aggregation server itself listens to the address (used for client connections) | "0.0.0.0:50001" |
| http_addr | str | Federation training status listening address (for viewing federation training status) | "0.0.0.0:50002" |
| strategy | str | the aggregation starategy (FedAvg、Scaffold、FedOpt、qFedAvg、FedNova) | FedAvg |
| strategy_params | dict | specify the params of strategy | {} |