Everydevice has some data that cannot be shared.••Eachdevice locally trains the model with its own data, generating model updates.••Thesedevices send updates to the model (rather than raw data) to a central server.••Theserver collects all model update information and uses this information toupdate the global model.
Datasets:
Challenges in Representation Learning:Facial Expression Recognition Challenge.•48x48 pixel grayscale image of theface•7 label: 0=Angry, 1=Disgust, 2=Fear,3=Happy, 4=Sad, 5=Surprise, 6=Neutral.
data preprocessing:
Assume each client has 5 images to trainand Train 3 times for each image.
TRAIN_DATA_PER_CLIENT = 5
TRAINING_EPOCHS = 3•Preparetraining data for each client. Make sure Each client has same number of images x_client_1 = x_train[0 : TRAIN_DATA_PER_CLIENT]
y_client_1 = y_train[0 : TRAIN_DATA_PER_CLIENT]
x_client_2 = x_train[TRAIN_DATA_PER_CLIENT : TRAIN_DATA_PER_CLIENT * 2]
y_client_2 = y_train[TRAIN_DATA_PER_CLIENT : TRAIN_DATA_PER_CLIENT * 2]
...
Createdfederated data for each client's data
Model Build:
Deep Convolutional Neural Network Model
TensorFlow Federated Learning
•Convert model to federated model
•Build federated averate process
•Start training
•Test our model with test dataset