This repository includes step-by-step tutorials for using and adding to functionality within the OpenMined ecosystem. Before you begin, you should start by completing our installation guides which will get you setup and ready to complete the tutorials. If you get stuck, the best place to ask questions is in the #beginner Slack channel.
The perfect place to begin your jouney is by installing pre-requisites for different parts of the project! These tutorials will walk you through the setup process for various projects within the OpenMined ecosystem.
In this tutorial, we'll learn how to use the OpenMined Keras interface and build our first neural network.
- PySyft
- Tutorial: Train a Basic Neural Network (Keras Interface) - Video Tutorial: Basic Network
- syft.js
- Tutorial: Train an MNIST Neural Network
Now let's build the guts of a deep learning framework. We'll learn how OpenMined Tensors work.
- Tutorial: How to add a (CPU) Function to a Tensor
- Video Tutorial: OpenMined Tutorial - How OpenMined Tensors Work
- Project: Add a feature to Float Tensors
And finally, let's do some performance improvements, understanding a little about GPUs and networking. We'll learn how to optimize some ofthe key bottlenecks of the system.
- Guide: How to add a (GPU) Function to a Tensor
- YouTube Video: Add Code to GPU Tensor
- Project: The Need for Speed - Picking a Neural Network and Making it Faster
If you are interested in a bit more of a self-directed journey than any of these tutorials above, we also have a section for proposed projects!!!
If you are interested in contributing to this, first check out our Contributor Quickstart Guide and then sign into our Slack Team to let us know which projects sound interesting to you! (or propose your own!).
Here's how you can contribute:
We would like to explore every possible use of the Openmined ecosystem and share these with the community. To that end, you can create various tutorials and put each in one of the beginner, intermediate, advanced sections based on their appropriate levels.
You can raise an issue or submit a pull request, whichever is more convenient for you.