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_localandpretrained_model_aggregatorbranches 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,awill 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 toborcor other clients'config.jsonfile - 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.jsonfile - Move the MNIST pretrained model in
b,c, or other clients'privatefolder intopublicto let it be aggregated bya awill 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_localbranch 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