Frameworks, fusion methods, and Python versions
Frameworks, fusion methods, and Python versions These are the available machine learning model frameworks and model fusion methods for the Federated Learning model. The software spec and frameworks are also compatible with specific Python versions. Frameworks and fusion methods This table lists supported software frameworks for building Federated Learning models. For each framework you can see the supported model types, fusion methods, and hyperparameter options. Table 1. Frameworks and fusion methods Frameworks Model Type Fusion Method Description Hyperparameters TensorFlow <br>Used to build neural networks. <br>See [Save the Tensorflow model](https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fl-models.htmltf-config). Any Simple Avg Simplest aggregation that is used as a baseline where all parties' model updates are equally weighted. - Rounds <br>- Termination predicate (Optional) <br>- Quorum (Optional) <br>- Max Timeout (Optional) Weighted Avg Weights the average of updates based on the number of each party sample. Use with training data sets of widely differing sizes. - Rounds <br>- Termination predicate (Optional) <br>- Quorum (Optional) <br>- Max Timeout (Optional) Scikit-learn <br>Used for predictive data analysis. <br>See [Save the Scikit-learn model](https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fl-models.htmlsklearn-config). Classification Simple Avg Simplest aggregation that is used as a baseline where all parties' model updates are equally weighted. - Rounds <br>- Termination predicate (Optional) Weighted Avg Weights the average of updates based on the number of each party sample. Use with training data sets of widely differing sizes. - Rounds <br>- Termination predicate (Optional) Regression Simple Avg Simplest aggregation that is used as a baseline where all parties' model updates are equally weighted. - Rounds Weighted Avg Weights the average of updates based on the number of each party sample. Use with training data sets of widely differing sizes. - Rounds XGBoost XGBoost Classification Use to build classification models that use XGBoost. - Learning rate <br>- Loss <br>- Rounds <br>- Number of classes XGBoost Regression Use to build regression models that use XGBoost. - Learning rate <br>- Rounds <br>- Loss K-Means/SPAHM Used to train KMeans (unsupervised learning) models when parties have heterogeneous data sets. - Max Iter <br>- N cluster Pytorch <br>Used for training neural network models. <br>See [Save the Pytorch model](https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fl-models.htmlpytorch). Any Simple Avg Simplest aggregation that is used as a baseline where all parties' model updates are equally weighted. - Rounds <br>- Epochs <br>- Quorum (Optional) <br>- Max Timeout (Optional) Neural Networks Probabilistic Federated Neural Matching (PFNM) Communication-efficient method for fully connected neural networks when parties have heterogeneous data sets. - Rounds <br>- Termination accuracy (Optional) <br>- Epochs <br>- sigma <br>- sigma0 <br>- gamma <br>- iters Software specifications and Python version by framework This table lists the software spec and Python versions available for each framework. Software specifications and Python version by framework Watson Studio frameworks Python version Software Spec Python Client Extras Framework package scikit-learn 3.10 runtime-22.2-py3.10 fl-rt22.2-py3.10 scikit-learn 1.1.1 Tensorflow 3.10 runtime-22.2-py3.10 fl-rt22.2-py3.10 tensorflow 2.9.2 PyTorch 3.10 runtime-22.2-py3.10 fl-rt22.2-py3.10 torch 1.12.1 Learn more [Hyperparameter definitions](https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fl-param.html) Parent topic:[IBM Federated Learning](https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fed-lea.html)