The materials for the Federated Learning Course Using PyTorch and PySyft
Federated Learning course on Udemy
What you will learn?
- Introduction to Deep Learning and Neural Networks
- Introduction to Federated Learning
- Build Neural Networks from scratch using PyTorch
- Load your datasets in IID, non-IID, and non-IID unbalanced settings
- Introduction to PySyft
- Federated Learning techniques
- FedAvg
- FedSGD
- FedProx
- FedDANE
- Build your custom optimizer using PyTorch
- Introduction to Differential Privacy
- Implement FedAvg using Differential Privacy
- Federated Learning on cloud
- Implement FedAvg on cloud
You do not need any prerequisites!
PySyft version used in the course for all the local experiments 0.2.9
PySyft version used in the course for all the cloud experiments 0.3.0
You do not have to worry about torch version or any other library. All of these libraries are attached to PySyft and will be downloaded using a single command pip install syft==<version>
However, if you install PySyft=0.2.9
, it come with Torch=0.4
by default. But some functionalities are not supported by PyTorch=0.4
anymore. Therefore, after installing PySyft=0.2.9
you need to upgrade your Torch to 1.6 by running: pip install torch==1.6
.
When you are working on Differential Privacy and you want to use Opacus
then you can install it using pip install opacus
.
Recommended Use two different anaconda envs:
Syft 0.2.9
To run all the local experiments you need PySyft=0.2.9. After that update your torch to 1.6.Syft 0.3.0
for all the cloud experiements. You do not need to update Torch.
References