This project is used for creating experimental environment for the simulation of the on-device federated learning process using the Flower framework. The project differentiates between training the model for two different data sets:
- This example tracks activity for multiple users and the goal is to classify a given user activity. Dataset used is downloaded from UC Irivine's database - HARTH. The simulation of client data generation is performed by dividing the initial dataset
- Second example's dataset is generated using the Arduino Nano 33 BLE Sense board and it tracks the activity of edge device:
- collecting data (run script movement_model_dataset)
- data formatting (run script create_csv)
- in utils change number of classes and features to values 2 and 10 respectively
- in first client and second one set values for labels on [0, 1]
- in server's script number of clients is set to 2
Create virtual environment and install all needed modules:
pip3 install -r requirements.txt
Start the server
python3 server.py
Run all clients in different terminals (id in range 1 to 4)
python3 clientsubject<id>.py
For clients in second project follow the next steps
python3 clienteven.py
python3 clientodd.py