Skip to content

OpenMined/model_aggregator_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pretrained Model Aggregator App

This app, together with the pretrained_model_local app, form an aggregation pipeline for pretrained MNIST models using SyftBox

Running in dev mode

  1. Reset everything if necessary with just reset. Clone the pretrained_model_local and pretrained_model_aggregator branches into the current directory, e.g. with the command git clone --branch pretrained_model_aggregator https://github.com/OpenMined/tutorial-apps.git pretrained_model_aggregator
  2. Run upto 11 clients (a, b, c...) with just run-client <client_name> and the SyftBox cache server just run-server. Here, a will be the model aggregator
  3. 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 to b or c or other clients' config.json file
  4. 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 to a's config.json file
  5. In a's apps/pretrained_model_aggregator folder, modify the participants in participants.json
  6. Move the participants' MNIST pretrained model in their private folder into public to let it be aggregated by a
  7. a will automatically look for and aggregate the models from other clients. Check a's SyftBox client log to see if the global model accuracy has improved, look for key words "Aggregated models from" and "Global model accuracy"

Running live as a model aggregator

  1. Clone the pretrained_model_aggregator branch into the current directory, e.g. with the command git clone --branch pretrained_model_aggregator https://github.com/OpenMined/tutorial-apps.git pretrained_model_aggregator
  2. Run your syft client with syftbox client
  3. Install the aggregator app syftbox app install pretrained_model_aggregator
  4. Go to your sync folder's apps/pretrained_model_aggregator and change the list of participants in participants.json
  5. 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"

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •