XAIN is an open source framework for federated learning.
Project description
XAIN
The XAIN project is building a GDPR-compliance layer for machine learning. The approach relies on federated machine learning (FedML) as enabling technology that removes compliance-related adoption barriers of AI applications used in production.
At present, the source code in this project demonstrates the effectiveness of our FedML implementation on well known benchmarks using a realistic deep learning model structure. We will soon add a link to details on those experiments.
In the future, we will open source here a first minimal viable product for this layer. And we will add links to articles and papers that describe our approaches to networking, architecture, and privacy-preserving technology. We will also provide references to legal opinions about how and why our compliance layer for machine learning meets the demands of GDPR.
POLITE NOTE: We want to point out that running the benchmarks as described below is consuming considerable resources. XAIN cannot take any responsibilities for costs that arise for you when you execute these demanding machine-learning benchmarks.
Quick Start
XAIN requires Python 3.6+. To install the xain-fl
package just run:
$ python -m pip install xain-fl
XAIN can also be installed with GPU support through the gpu
extra feature. To
install the xain-fl
package with support for GPUs just run:
$ python -m pip install xain-fl[gpu]
Running training sessions and benchmarks
To run training sessions, see the benchmark package and the benchmark documentation.
Install from source
For development we require some extra system dependencies:
- clang-format 8+
- Linux:
sudo apt install clang-format
- macOS:
brew install clang-format
- Linux:
Clone Repository & Install XAIN in development mode
To clone this repository and to install the XAIN project, please execute the following commands:
$ git clone https://github.com/xainag/xain-fl.git
$ cd xain-fl
$ python -m pip install -e .[dev]
Verify Installation
You can verify the installation by running the tests
$ pytest
Building the Documentation
The project documentation resides under docs/
. To build the documentation
run:
$ cd docs/
$ make docs
The generated documentation will be under docs/_build/html/
. You can open the
root of the documentation by opening docs/_build/html/index.html
on your
favorite browser.
Related Papers and Articles
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.