This app, together with the pretrained_model_local
app, form an aggregation pipeline for pretrained MNIST models using SyftBox
- Reset everything if necessary with
just reset
. Clone thepretrained_model_local
andpretrained_model_aggregator
branches into the current directory, e.g. with the commandgit clone --branch pretrained_model_aggregator https://github.com/OpenMined/tutorial-apps.git pretrained_model_aggregator
- Run upto 11 clients (
a, b, c...
) withjust run-client <client_name>
and the SyftBox cache serverjust run-server
. Here,a
will be the model aggregator - Install the local pretrained app on
b, c, ...
:syftbox app install pretrained_model_local --config_path <path_to_config.json>
where<path_to_config.json>
points tob
orc
or other clients'config.json
file - Install the model aggregator app on
a
:syftbox app install pretrained_model_aggregator --config_path <path_to_config.json>
where<path_to_config.json>
points toa
'sconfig.json
file - In
a
'sapps/pretrained_model_aggregator
folder, modify the participants inparticipants.json
- Move the participants' MNIST pretrained model in their
private
folder intopublic
to let it be aggregated bya
a
will automatically look for and aggregate the models from other clients. Checka
's SyftBox client log to see if the global model accuracy has improved, look for key words "Aggregated models from" and "Global model accuracy"
- Clone the
pretrained_model_aggregator
branch into the current directory, e.g. with the commandgit clone --branch pretrained_model_aggregator https://github.com/OpenMined/tutorial-apps.git pretrained_model_aggregator
- Run your syft client with
syftbox client
- Install the aggregator app
syftbox app install pretrained_model_aggregator
- Go to your sync folder's
apps/pretrained_model_aggregator
and change the list of participants inparticipants.json
- Wait for the participants to submit their pretrained models. Monitor your syftbox client logs, look for key words "Aggregated models from" and "Global model accuracy"