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.
- 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).
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.
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
python3 setup.py test
Join the rapidly growing community of 2500+ on Slack and help us in our mission. We are really friendly people!
We are very grateful for contributions to PySyft from the following organizations!