Federated Averaging in Tensorflow Federated

I am a newbie in federated learning and just getting to know the TensorFlow Federated TFF framework. I have some questions in my mind I would be really appreciated it if anybody can clarify them:

  1. Does the Federated Averaging algorithm the only aggregation algorithm supported in TFF? and how it differs from Federated Stochastic Gradient Descent?
  2. Dose Federated Averaging require each client to be trained with the Neural Networks? or it is possible for local data to be trained with any machine learning algorithm?
  3. I have big data, and I am planning to partition my data into smaller datasets and simulated each part as one client? does this work in TFF? and does it consider horizontal or vertical federated learning?

Thanks in advance

Hi @Reem_Alwani , Apologies for the delay, and thank you for raising your concern!
To get started with TensorFlow Federated, Kindly refer to this document.
1.You can also implement customized federated learning algorithms. To know more about it, refer to this tutorial.
2.It is possible for local data to be trained with any machine learning algorithm not just Neural Networks.
3. Yes, this approach will work.
Horizontal Federated Learning: This involves, if all clients share the same features.
Vertical Federated Learning: This involves clients with different features.
Thank you!