FederatedScope
An open-source federated learning platform for single-device simulations and distributed training, built in Python with PyTorch support and Docker deployment.

FederatedScope is an open-source federated learning platform for researchers and teams building training systems across separate data holders. It can simulate clients and servers on one device or run them as separate distributed participants. Each participant loads its own data, while models can pass between participants through messages.
The Python platform supports PyTorch and can run in Docker. Its event-driven architecture lets developers customize what participants exchange and how they respond, making it useful for testing learning methods that need more control over client and server behavior. Teams can bring their own datasets and model architectures.
Built-in data and model collections cover computer vision, NLP, graph learning and recommendation tasks, with support for speech applications as well. The data collection handles downloads and preprocessing of public datasets, reducing the preparation work for experiments.
Personalized federated learning supports client-specific model architectures and training settings for participants with different data distributions or computing resources. Automatic hyperparameter tuning helps compare training choices across federated runs.
Privacy features include differential privacy, encryption and multi-party computation. Privacy attack algorithms let researchers test the protection offered by their designs. FederatedScope uses the Apache 2.0 license; browser-based ways to try it include FederatedScope Playground and Google Colab.