Skip to content

GDSC-IIIT-Kalyani/Image-Classification-by-Federated-Learning

 
 

Repository files navigation

Image-Classification-by-Federated-Learning

Project aimed to provide insights of the implementation of Fedarated Learning.

Description

  • Implementation of Federated Learning gist of which are:

    • Train your model without uploading client's data on cloud
    • Provides assurance of privacy in terms of interests and activity
    • Model hosted on cloud only uplaods the results back to the server
    • Thus, full-flegded security and assurance of none sort of fetching data/leakage.
    • More Details on Federated Learning : https://federated.withgoogle.com/
  • Uses MNIST dataset of different writing styles considering them as data of various client's.

  • Train model on federated data; predicting and customizing model implementation for accurate results.



Dependencies

  • tensorflow_federated_nightly also bring in tf_nightly, which can causes a duplicate tensorboard install, leading to errors.
  • Follow the commands below to set up your environment correctly
    • pip uninstall --yes tensorboard tb-nightly removing previous versions to avoid duplicate installations
    • pip install --quiet --upgrade tensorflow-federated-nightly upgrading the package
    • pip install --quiet --upgrade nest-asyncio installing/upgrading other dependencies
    • pip install --quiet --upgrade tb-nightly or tensorboard, not both
  • This project has been setup in Google Colaboratory Notebook. To have better experience and to keep focus on main thing, use Google Colaboratory Notebooks for easy environment setup.
  • Check out https://www.tensorflow.org/federated/ for more details on tensorflow_federated


Getting started

  • Fork this repository (Click the Fork button in the top right of this page, click your Profile Image)
  • Clone your fork down to your local machine
git clone https://github.com/your-username/mage-Classification-by-Federated-Learning.git
  • Create a branch
git checkout -b branch-name
  • Make your changes
  • Commit and push
git add .
git commit -m 'Commit message'
git push origin branch-name
  • Create a new pull request from your forked repository (Click the New Pull Request button located at the top of your repo)
  • Wait for your PR review and merge approval!
  • Star this repository if you had fun!


Contributors



Goals

  • Implementation of self-customized models on your own.
  • Extend the application of Federated Learning to various problems related to data privacy concerns.
  • Have a better understanding in the sub-field of implementing data models using Federated Learning approach.

About

Tutorial project aimed for the first towards the implementation of Federated Learning.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%