This app, together with the pretrained_model_aggregator
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_local https://github.com/OpenMined/tutorial-apps.git pretrained_model_local
- 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 - Move the MNIST pretrained model in
b
,c
, or other clients'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_local
branch into the current directory, e.g. with the commandgit clone --branch pretrained_model_local https://github.com/OpenMined/tutorial-apps.git pretrained_model_local
- Run your syft client with
syftbox client
- Install the app with
syftbox app install pretrained_model_local
- Go to your sync folder's datasite, you will see that you have a pretrained MNIST model in your
private/
folder, e.g.pretrained_mnist_label_2.pt
- Submit your model for aggregation by copying / dragging the pretrained model from the
private/
folder into thepublic/
folder. Note that the model aggregator needs to list you as a participant for your model to be aggregated