MtDersvan / PySyft

Encrypted Deep Learning Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Syft

Chat on Slack Build Status

Homomorphically Encrypted Deep Learning Library

The goal of this library is to give the user the ability to efficiently train Deep Learning models in a homomorphically encrypted state without needing to be an expert in either. Furthermore, by understanding the characteristics of both Deep Learning and Homomorphic Encryption, we hope to find very performant combinations of the two. See notebooks folder for tutorials on how to use the library.

Setup

Prerequisites

# Get dependencies ready
pip install -r requirements.txt
# install the lib locally
python setup.py install

Installation

The recommended method is using Docker (works on all major operating systems).

For Docker Users

Install Docker from its website. For macOS users with Homebrew installed, use brew cask install docker.

For Anaconda Users

bash install_for_anaconda_users.sh
Windows
conda install -c conda-forge gmpy2
pip install -r requirements.txt
python setup.py install

Usage

Start

Then, run:

git clone https://github.com/OpenMined/PySyft.git
cd PySyft
make run

Tests

cd PySyft
make test

For Contributors

If you are interested in contributing to Syft, first check out our Contributor Quickstart Guide and then sign into our Slack Team channel #team_pysyft to let us know which projects sound interesting to you! (or propose your own!).

Relevant Literature

As both Homomorphic Encryption and Deep Learning are still somewhat sparsely known, below is a curated list of relevant reading materials to bring you up to speed with the major concepts and themes of these exciting fields.

Encrypted Deep Learning - Recommended Reading:

Homomorphic Encryption - Recommended Reading:

Relevant Papers:

Related Libraries:

Related Blogs:

License

Apache-2.0 by OpenMined contributors

About

Encrypted Deep Learning Library

License:Apache License 2.0


Languages

Language:Python 80.7%Language:Jupyter Notebook 19.0%Language:Shell 0.2%Language:Makefile 0.1%