Implementing FL client-side main functionalities
In this section, we will explain how you can implement basic FL client-side code, which is described in the client.py
file in the agent
directory. Please refer to Chapter 3, Workings of the Federated Learning System, for an explanation of FL client-side architecture, sequence, and procedure flow. By learning about this client-side code, you will understand how to implement an agent’s registration process, model exchange synchronization, and push/polling mechanisms, as well as the communication protocol between the agent and aggregator, with some functions that will be called from other ML applications as Application Programming Interfaces (APIs).
Let’s first see what libraries will be imported for implementing FL client functions.
Importing libraries for an agent
In this client.py
file example, the agent imports general libraries such as asyncio
and time
(a detailed explanation of which is out of scope for this...