Skip to content

RaghavendraRQ/Federated-Learning-in-IoT

Repository files navigation

Federated Learning in IoT

Python • Flower
Dec 2024 – Present

A federated learning system designed for Internet of Things (IoT) environments using the Flower framework. This project enhances model accuracy, reduces latency, and ensures secure aggregation across IoT nodes.

Showcase

  • 30%+ Improvement in Model Accuracy over traditional centralized approaches, demonstrated through experimental evaluations across heterogeneous IoT data sources.
  • Real-world Simulation Using Raspberry Pi: Configured a centralized server on a laptop to orchestrate distributed training over IoT devices; deployed a Raspberry Pi client to process 10,000+ sensor data points per training cycle.
  • Communication Optimization: Engineered and optimized protocols to achieve a 25% reduction in latency, enabling secure real-time model synchronization across nodes.

Key Features

  • Federated Learning with Flower: Enables decentralized model training directly on IoT endpoints, facilitating privacy-preserving intelligence.
  • Flexible Architecture:
    • app.py: Main entry point.
    • server.py: Federated learning server coordination.
    • temperature.py: Illustrative sensor data client.
    • models/: Model definitions.
    • templates/: (If applicable) UI or configuration templates.
  • Sample Data Included: dht_readings.csv, cleaned_dht_readings.csv, and data.csv for testing and validation workflows.
  • Support Scripts: fake.py, new1.py, and example/ for generating and experimenting with sample workflows.
  • Scalable and Modular: Easily extendable to new model architectures, IoT devices, and aggregation strategies.

Usage Guide

1. Prerequisites

  • Python 3.x installed
  • Install dependencies:
    pip install -r requirements.txt

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •