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.