/Federated-Learning

An implementation of Federated Learning using Pytorch and PySyft

Primary LanguageJupyter NotebookMIT LicenseMIT

Federated-Learning

A cats and dogs classifier trained using Federated Learning and deployed using PyTorch and PySyft.

What is Federated Learning?

Federated learning is a machine learning technique that trains an algorithm across multiple decentralized edge devices or servers holding local data samples, without exchanging their data samples. It enables multiple actors to build a common, robust machine learning model without sharing data, thus addressing critical issues such as data privacy, data security, data access rights and access to heterogeneous data. Check out Google's online comic or blog post for more details.

Installation

This notebook uses PyTorch and PySyft. To install PyTorch on your device, follow the instructions here. If you're using Google Colab, PyTorch comes pre-installed.

To install PySyft, run the commands:

git clone https://github.com/OpenMined/PySyft.git
python ./PySyft/ setup.py test
pip install syft

Resources