GithubHelp home page GithubHelp logo

ivenzor / pysyft Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openmined/pysyft

0.0 1.0 0.0 1.22 MB

Encrypted Deep Learning Library

License: Apache License 2.0

Makefile 0.14% Python 78.31% Shell 0.11% Jupyter Notebook 21.44%

pysyft's Introduction

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. Once installed, launch the Docker application. Ensure that docker is installed and running properly by checking the version: docker -v.

For Anaconda Users

bash install_for_anaconda_users.sh

Note: If you are having trouble with installation, after you run the above script, while you try to import Syft in your Jupyter notebook, try this:

source activate openmined  # activate your env, if you haven't already
pip install ipykernel
python -m ipykernel install --user --name=openmined
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

If you want create a local Docker with Jupyter:

docker build -f Development-Dockerfile -t "pysyft" .
make custom docker=pysyft

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

pysyft's People

Contributors

aaqibsaeed avatar aiorla avatar akashgutha avatar alex-kattathra-johnson avatar anoff avatar aqibsaeed avatar aradhyamathur avatar axelsly avatar baldassarrefe avatar bharathgs avatar ct83 avatar cypherai avatar dipanshunagar avatar dmonn avatar edwarddixon avatar erfannoury avatar gautam1858 avatar iamtrask avatar joewie avatar kevinahuber avatar korymath avatar lucaslopes avatar mtdersvan avatar pilar12 avatar sajalsubodh22 avatar samsontmr avatar siarez avatar swaroopch avatar tusharsoni08 avatar ujjwal-9 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.