I'm planning to develop a decentralized federated learning simulation environment using Tensorflow Federated API, so nodes are able to coordinate themselves to obtain data without the interference of the server.
Is there any function on tff API which manages data transfers between specific clients? I only see functions that move data from server to client (tff.federated_broadcast()
) and client to server (tff.federated_collect()
).
There are several ways to interpret this question I think, but in all of them the answer is no. All client-to-client communication in TFF must currently be intermediated by the server.
A little more detail: TFF provides no intrinsics which model 'information exchange' between clients, though in principle such a thing can exist. That is, TFF is designed in such a way that this could be added. However, there are no plans to pursue this path in the immediate future.