InstallationΒΆ

Controller is a device from which Federated Learning is facilitated, such as your laptop. Endpoints are devices that participate in Federated Learning, such as Raspberry Pis.

Use the package manager pip to install flox on the Controller:

(.venv) $ pip install pyflox

To be able to include your endpoints into the Federated Learning process, you need to install funcx-endpoint on the endpoints:

(.endpoint_venv) $ python3 -m pipx install funcx_endpoint

Finally, install compatible versions of PyTorch or Tensorflow on both the Controller and endpoints. As of now, FLoX supports Tensorflow and PyTorch, although you can add support for your frameworks by creating a new ModelTrainer. See flox.logic and examples of ModelTrainers in flox.model_trainers.

Note: funcX-endpoint is only supported on Linux. FLoX Controller functionality is supported on MacOS, Linux and Windows.