This is the code accompanying the Dissertation Project.
The dissertation report is for application of M.Sc. in Information Technology, The Hong Kong Polytechnic University.
- Python 3.7
- PyTorch 1.0.2
- Scikit-learn
- Matplotlib
- Numpy
FedAVG.py
: Implement of the original Federated Average algorithm, which is used as the baseline.Federated_Learning_with_Aug.py
: Implement of the FL algorithm with GAN based data augmentation, which is the main function of the project.
The following arguments to the FedAvg_training.py file control the important parameters of the experiment
FL_epochs
: Defines the number of federated learning training epoch.Gan_epochs
: Defines the number of Multi_GAN training epoch.Generator_paths
: Number of the path in Generator of the GAN, set to be '4' as a better performance.non_iid_alpha
: Hyperparemeter for data partition. Set to be 100 for iid data, and 0.01 for non_iid data.iid
: Set for original partition method 'True' or 'False', when data to be partitioned based on the same way in Federated Average algorithm.
The training_loss and test_accuracy is the main output, which can evaluate model performance.
Also, the majority of the information is recorded in the log folder.
If you have questions or suggestions, please make contact in email:smiley:
[email protected]
+852 5480 9259