A Library for Private, Secure, Multi-Owner Deep Learning - Currently Pre Alpha
iamtrask Merge pull request #1517 from OpenMined/trask2
consolidated experimental notebooks
Latest commit 2cf93e3 Sep 19, 2018

README.md

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: 644MB

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!

Organizational Contributions

We are very grateful for contributions to PySyft from the following organizations!

License

Apache License 2.0

FOSSA Status