Skip to content

A Library for Private, Secure, Multi-Owner Deep Learning - Currently Pre Alpha

License

Notifications You must be signed in to change notification settings

flyingcarpet-network/PySyft

 
 

Repository files navigation

PySyft

Binder Build Status Chat on Slack FOSSA Status

PySyft is a Python library for secure, private Deep Learning. PySyft decouples private data from model training, using Multi-Party Computation (MPC) over PyTorch and tensorflow.
Join the movement on Slack.

See PySyft in Action

  • Emulate remote PyTorch execution - This notebook demonstrates the tensor passing between workers, though both the workers live in the same environment.
  • Emulate remote PyTorch execution using sockets: Server | Client - This notebook demonstrates the tensor passing and remote execution, with workers living in different environments.

    Note: Run Server before Client

  • Federated Learning - This notebook demonstrates the model training over distributed data (data belonging to multiple owners).

Docker

git clone https://github.com/OpenMined/PySyft.git
cd PySyft
scripts/run_docker.sh

Image size: 769.4MB

The container mount the examples folder on a volume so every change on the notebooks is persistent. Furthermore the container is deleted when it is stopped, in a way to facilitate development. You just have to change PySyft code, and run the run_docker.sh script to observe changes you've made on notebooks.

Installation

PySyft supports Python >= 3.6 and PyTorch 0.3.1

Pick the proper PyTorch version according to your machine: CPU | CUDA9.1 | CUDA9.0 | CUDA8.0

conda install pytorch=0.3.1 -c soumith
pip3 install -r requirements.txt
python3 setup.py install

Run Unit Tests

python3 setup.py test

Join the rapidly growing community of 2500+ on Slack and help us in our mission. We are really friendly people!

License

Apache License 2.0

FOSSA Status

About

A Library for Private, Secure, Multi-Owner Deep Learning - Currently Pre Alpha

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.8%
  • Other 1.2%