Skip to content

The eXpandable AI Network (XAIN) represents an agnostic Federated Machine Learning framework to build privacy-preserving AI applications.

License

Notifications You must be signed in to change notification settings

PanicButtonPressed/xain-fl

 
 

Repository files navigation

CircleCI PyPI GitHub license Documentation Status Gitter chat

XAIN

The XAIN project is building a GDPR-compliance layer for machine learning. The approach relies on Federated Learning as enabling technology that allows production AI applications to be fully privacy compliant.

Federated Learning also enables different use-cases that are not strictly privacy related such as connecting data lakes, reaching higher model performance in unbalanced datasets and utilising AI models on the edge.

This repository contains the source code for running the Coordinator. The Coordinator is the component of Federated Learning that selects the Participants for training and aggregates the models using federated averaging.

The Participants run in a separate environment than the Coordinator and connect to it using an SDK. You can find here the source code for it.

Quick Start

XAIN requires Python 3.6.4+. To install the xain-fl package just run:

$ python -m pip install xain-fl

Install from source

To clone this repository and to install the XAIN-FL project, please execute the following commands:

$ git clone https://github.com/xainag/xain-fl.git
$ cd xain-fl

$ sh scripts/setup.sh

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 or simply run the command:

$ make show

Running the Coordinator locally

To run the Coordinator on your local machine, use the command:

$ python xain_fl/cli.py -f test_array.npy

For more information about the CLI and its arguments, run:

$ python xain_fl/cli.py --help

Related Papers and Articles

About

The eXpandable AI Network (XAIN) represents an agnostic Federated Machine Learning framework to build privacy-preserving AI applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.4%
  • Shell 1.4%
  • Dockerfile 0.2%