Substra documentation

Substra

Substra is an open source federated learning (FL) software. It provides a flexible Python interface and a web app to run federated learning training at scale.

Substra’s main usage is in production environments. It has already been deployed and used by hospitals and biotech companies (see the MELLODDY project for instance). Substra can also be used on a single machine on a virtually split dataset to perform FL simulations and debug code before launching experiments on a real network.

Substra was created by Owkin and is now hosted by the Linux Foundation for AI and Data.

How does it work?

Substra Network

Interfaces

Substra has three user interfaces:
  • Substra: a low-level Python library (also called SDK). Substra is used to create datasets, functions and machine learning tasks on the platform.

  • SubstraFL: a high-level federated learning Python library based on Substra. SubstraFL is used to run complex federated learning experiments at scale.

  • A web application used to monitor experiments training and explore their results.

Installation

Client side: Install Substra and SubstraFL python libraries with the following command: pip install substrafl. Substra python library is a dependency of SubstraFL, so it will be automatically installed. More information on the installation can be found here.

Server side: There are two options to deploy the server side of Substra (backend, frontend and orchestrator):

Note

You can start doing local FL experiments with Substra by installing only the client side.