fedle

fedle

An open-source & your go-to python library that lets you train deep learning models with a multiple fold increase in accuracy through Federated Learning!

fedle

fedle

An open-source & your go-to python library that lets you train deep learning models with a multiple fold increase in accuracy through Federated Learning!

The problem fedle solves

Welcome to Fedle, an open-source python library for federated learning. With the increasing use of deep-learning models in the industry & academia nowadays, developers are feeling the frustration of long & unwanted large training times. Traditional models like CNN, KNN, and MLP on large datasets like the CIFAR-10 often require lengthy training times and frequent accuracy improvements. Waiting for models to become usable can be frustrating and inefficient.

We've built an easy to use python library which has a central server & 10 clients feeded into the network. You can choose which model you wish to train from the choice of models available & you can also choose which dataset to let the clients train on your model. The clients run a complete epoch of the training set & updates the central server the parameters generated. The model aggregates the parameters shared by each client at the end of each traoning round according to a simple federated averaging algorithm & then sends back the updated models to the clients for the next round of training. Accuracy & loss are calculated at the end of each round of training to show the increase in accuracy & the decrease in loss after the completion of each training round.

After all the rounds of training are completed & the server has aggregated the features shared by all the clients, the final best model is now shared back to the user.

Yes, that's it!

All you had to do is a simple installation of the fedle library & the dependencies mentioned in the requirements.txt file.

Challenges we ran into

  1. We initially planned to integrate the Hyperledger Fabric network but couldn't finish it up on time.
  2. Creating a library was easy but integrating files was not. It definitely took our head.
  3. Creating the rewards logic in the contract was quite difficult too.

Tracks Applied (6)

Ethereum + Polygon Track

We deployed the contract for minting the ERC-20 tokens on Ethereum + Polygon track as Polygon was fast enough to work wi...Read More

Polygon

Ethereum Track

We deployed the contract for minting the ERC-20 tokens on Ethereum as Ethereum was fast enough to work with & smooth to ...Read More

Polygon

Replit

We live tested our whole code on replit only. Testing while building alongside was awesome experience we had with Replit...Read More

Replit

Open Track - Development

We are 2nd year students & we built an innovative, never before built project which qualifies to be in the open-dev trac...Read More

Quine Track

We need people who can contribute to the library we built. Quine was 'the place' for it! As a creator we shared our proj...Read More

Quine

Blooming Passionpreneurs

Well, it best fits this track because this idea was never a hackathon idea. What we've tried building is a POC of our id...Read More

Vineet

Discussion