Skip to content

Federated Learning Client Base Image

This is a small Python package designed to simplify development of a Federated Learning platform client in Python. Its includes the necessary communication endpoint as well as aids in the interaction between the client and the server.

This project is a component of the Federated Learning (FL) platform, serving as a proof of concept for the Catena-X project. The FL platform aims to demonstrate the potential of federated learning in a practical, real-world context.

For a comprehensive understanding of the FL platform, please refer to the official FL platform documentation.

A complete list of all repositories relevant to the FL platform can be found here.

Get Started

A great starting point for this package is the MNIST example client tutorial. The MNIST example client source code is also open source. For Python client developer it is advised to start your new client development based on the MNIST example client.

Environment Variables

Variable Default Description
FL_CLIENT_ADDITIONAL_SYS_PATH empty Additional client sys path seperated by an colon (:).
FL_CLIENT_SERVER_HOST 0.0.0.0 Client server hostname.
FL_CLIENT_SERVER_PORT 8101 Client server port.
FL_CLIENT_SETTINGS_MODULE dlr.fl.client.settings.Settings Client settings module.
FL_DEMONSTRATOR_BASE_URL http://localhost:8000 Base URL of the FL Demonstrator server.
FL_DEMONSTRATOR_TRAINING_SCRIPT_EXECUTOR python Path to the script executor.
FL_DEMONSTRATOR_TRAINING_SCRIPT_PATH src/main.py Path to the training script.
FL_DEMONSTRATOR_TRAINING_WORKING_DIRETORY . Working directory for the training script.