This is a project wich aims to make federated learning easy & fast to develop
To launch demo program you will need tmux, go-lang, python3.
Tmux is needed to split and orgnanize terminal window to observe the system simulation.If you don't have tmux or your os does not support tmux, you can manually start the application
Steps:
- Enter demo folder: cd demo
- Make bin dir: mkdir bin
- Build server: go build -o ./bin ./cmd/server/
- Run simulation: ./simulation.sh
The server (panel 0:0) is responsable for coordination of N clients. It spawns 2 Task:
-
- EVAL_TASK for only the oracle (machine wich have a complete dataset wich can give a "real" evautation.
-
- TRAIN_TASK foreach client substcribed to registry.
Training process: Loop:
- Send Task to N clients (With latest model)
- Recive & Aggregate
- Evaluate result