PyGrid is a peer-to-peer network of data owners and data scientists who can collectively train AI models using PySyft.
- Overview
- Getting started
- Try out the Tutorials
- Start Contributing
- High-level Architecture
- Disclaimer
- License
To boot the entire PyGrid platform locally, we will use docker containers. To install docker the dependencies, just follow docker documentation.
It will download the latest openmined's docker images and start a grid platform with 1 gateway and 4 grid nodes. PS: Feel free to increase/decrease the number of initial PyGrid nodes (you can do this by changing the docker-compose.yml file).
$ docker-compose up
On MacOS, you have to work-around the lack of support for network_mode: host
in Docker for Mac by adding following to your /etc/hosts
127.0.0.1 host.docker.internal
and running:
$ docker-compose -f docker-compose-mac.yml up
You can now deploy the grid-gateway and grid-node docker containers on kubernetes. This can be either to a local (minikube) cluster or a remote cluster (GKE, EKS, AKS etc). The steps to setup the cluster can be found in ./k8s/Readme.md
$ docker build -t openmined/grid-node ./app/websocket/ # Build PyGrid node image
$ docker build -t openmined/grid-gateway ./gateway/ # Build gateway image
A comprehensive list of tutorials can be found here.
These tutorials cover how to create a PyGrid node and what operations you can perform.
The guide for contributors can be found here. It covers all that you need to know to start contributing code to PySyft in an easy way.
Also join the rapidly growing community of 2500+ on Slack. The slack community is very friendly and great about quickly answering questions about the use and development of PyGrid/PySyft!
We also have a Github Project page for PySyft and PyGrid here.
Do NOT use this code to protect data (private or otherwise) - at present it is very insecure.